如何在文本文件的列表中创建列表?

时间:2019-03-19 22:55:05

标签: python list

我有按字母顺序排列的文本文件,在Python中看起来像这样:

在210.001 \ n 金196.9665 \ n B 10.81 \ n 137.34 \ n

我希望按数字而不是字母进行排序。我当时在想我可以对列表中的每一行做一个列表,然后从那里按索引排序?这也意味着字母和数字之间的空格必须为“,”。

1 个答案:

答案 0 :(得分:0)

您可以拆分它,然后按其他拆分进行排序:

splitlist = mylist.split('\n') # Split at new line
splitlist.sort(key=lambda line:float(line.split()[-1])) # Inline sort

现在splitlist将按最后(第二)列排序。

要对其进行细分,mylist.sort()是一种内联排序(它会更改列表的顺序而不创建新列表)。然后,您可以指定一个keykey必须是采用key(item)的可调用对象。因此,我做了一个lambda函数,以(1)分割行[line.split()],(2)提取分割后的[-1]的最后一项,然后(3)将其转换为{{ 1}},以便可以比较

我希望这对您有帮助

其他提示

(尝试发表评论)

您还可以制作字典:

float()

然后您可以通过splitlines = [line.split() for line in splitlist] atoms = {name:float(weight) for name,weight in splitlines} 进行查询