所以我有一个文本文件,其中包含“姓名”、“姓氏”、“年龄”以及多行数据。
我已经能够从文件中提取“年龄”,并能够将其从最年长到最年轻的顺序排列。现在唯一的问题是我想显示列表中的所有人员,但按从最年长到最年轻的顺序显示他们的姓名。
我还为每行都有单独的变量。例如,Name1 =“John”、“Doe”、“16”。 Name2 =“Doe”、“John”、“16”。我知道这是一个不好的方法,但我不知道该怎么做。
和 Age = [24,14,16]
没有 qoutes
我想到
if Age[2] in Name1[2]:
#John Doe is 16
但问题是,当我将从文件中提取的点添加到列表中时,它显示为 [14,25,25]
而不是 ["14","25",“25”]
。
因为变量上是“25”,年龄列表上是 25。
这是我第一次在这里发帖,所以如果我的格式错误或者我的帖子毫无意义,我很抱歉。请随时给我留言,我很乐意进一步解释。
感谢您的阅读,希望对您有所帮助。另外,如果您对我对 Name1 进行硬编码有任何解决方案,也请告诉我。
最佳答案
您可以使用字典列表(一个用户一个字典):
users = [{'name':'john','surname':'doe','age':16}, ...{...}]
要按年龄排序您的听写列表,您可以使用:
newlist = sorted(users, key=lambda k: k['age'])
关于Python - 不带引号的数字列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54801397/