我有一个数据文件,想根据第一列的值将其分成不同的列表。我知道第一列中可能出现哪些值,但它们不是任何漂亮的数学进度。是否有更简短的方法来编写以下代码?
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方式来编写此代码。