首页 > 解决方案 > Python - 没有 qoutes 的数字列表

问题描述

所以我有一个文本文件,其中包含“姓名”、“姓氏”、“年龄”和多行数据。

我已经能够从文件中提取“年龄”并能够将其从最老到最年轻。现在唯一的问题是我想显示列表中的所有人,但在显示他们的名字和姓氏的同时按从大到小的顺序。

我还为每一行设置了单独的变量。例如 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 进行硬编码有什么解决方案,也请告诉我。

标签: pythonpython-3.x

解决方案


您可以使用字典列表(一个用户一个字典):

users = [{'name':'john','surname':'doe','age':16}, ...{...}] 

要按年龄排序您的字典列表,您可以使用:

newlist = sorted(users, key=lambda k: k['age']) 

推荐阅读