Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从文本文件在列表中创建列表?_Python_List - Fatal编程技术网

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

Python 如何从文本文件在列表中创建列表?,python,list,Python,List,我有一个按字母顺序排列的文本文件,在Python中如下所示: 在210.001\n Au 196.9665\n B 10.81\n Ba 137.34\n 我想把它按数字而不是字母排序。我在想,我可以把一个列表中的每一行列成一个列表,然后从那里按索引进行排序?这也意味着字母和数字之间的空格必须是“,”您可以将其拆分,然后按额外的拆分进行排序: splitlist=mylist.split('\n')#在新行拆分 splitlist.sort(key=lambda行:float(line.spli

我有一个按字母顺序排列的文本文件,在Python中如下所示:

在210.001\n Au 196.9665\n B 10.81\n Ba 137.34\n


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

您可以将其拆分,然后按额外的拆分进行排序:

splitlist=mylist.split('\n')#在新行拆分
splitlist.sort(key=lambda行:float(line.split()[-1]))#内联排序
现在,
splitlist
将按最后(第二)列排序

要分解它,
mylist.sort()
是一种内联排序(它更改列表的顺序而不创建新的排序)。然后您可以指定一个
必须是接受
键(项)
的可调用项。因此,我制作了一个
lambda
函数来(1)拆分行[
line.split()
,(2)获取拆分的最后一项[-1],然后(3)将其转换为
float()
,以便进行比较

我希望这有帮助

附加提示 (试图回应评论)

您还可以制作字典:

splitlines = [line.split() for line in splitlist]
atoms = {name:float(weight) for name,weight in splitlines}

然后您可以通过
atom['Na']
查询它,例如

您想要什么语言?对不起,我是新来的,Python!哦,哇,分类真的很有效!但在后面的部分,我只想调用原子/弦和原子重量/浮点数。当我现在没有这些列表时,有可能吗?@J.Doe我添加了一个额外的提示,应该会有所帮助。在我最初的回答中,我认为你想要台词。如果你想把它们分开,你可以把它们分开,或者,就像我建议的那样,使用字典来帮助加速,这是非常有用的!尽管如此,如果我真的希望它是列表,我该怎么做呢?我编辑中的
分割线
对象是来自数据的列表