Python - 不带引号的数字列表

标签 python python-3.x

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

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

我还为每行都有单独的变量。例如,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/

相关文章:

python - 使用 csv.DictWriter 水平写入列表值

python - 如何让 mypy 识别较新版本的 python?

python - 在python中创建子文件夹

python-3.x - 将列表字符串转换为 float 列表 [pandas]

python - 用于 Python 的 Docker SDK 未在我的 dockerized Django 应用程序中运行

python - 在组的最后一个元素之后添加行

python - 在 importlib.reload 之前更改环境变量

python-3.x - telethon.errors.rpcerrorlist.FloodWaitError : A wait of 41548 seconds is required (caused by InviteToChannelRequest)

python - 在 Keras 中声明转换后的序列的 input_shape?

python - 从 Python 获取带有 outlook 电子邮件邀请的 "not supported calendar message.ics"附件