我有一个包含数据的文件,我想根据第一列中的值将其分为不同的列表。我确切地知道第一列中可能的值是什么,但它们不是一个很好的数学级数。有没有一种较短的方法来编写以下代码?你知道吗
x0=[]
y0=[]
x2=[]
y2=[]
x16=[]
y16=[]
# etc.
for line in file:
words=line.split()
if words[0] == '0':
x0.append(words[1])
y0.append(words[2])
elif words[0] == '2':
x2.append(words[1])
y2.append(words[2])
elif words[0] == '16':
x16.append(words[1])
y16.append(words[2])
# etc.
我的思考过程如下,但我定义的字符串(x和y)显然是字符串,并没有引用我希望它们引用的列表。你知道吗
x0=[]
y0=[]
x2=[]
y2=[]
x16=[]
y16=[]
# etc
for line in file:
words=line.split()
x='x'+words[0]
y='y'+words[0]
x.append(words[1])
y.append(words[2])
更新:我意识到用字典可以做到这一点,我的值是一个列表列表,但主要是我很好奇是否有一个pythonic的方法来编码这个,遵循我的思路如上所述。你知道吗
使用^{} 而不是一堆单独的值。你知道吗
然后只需通过字典键而不是变量名来访问值。你知道吗
我建议你转身
在一本字典中:
然后可以将各个列表引用为
x['0']
、x['2']
等特别是,您可以像这样重写
for
循环:有些人会大喊大叫,但我还是不明白他们为什么不赞成使用
globals()
相关问题 更多 >
编程相关推荐