gpt4 book ai didi

python - 使用正则表达式迭代从制表符分隔表创建的 Python 字典

转载 作者:行者123 更新时间:2023-12-01 09:00:53 26 4
gpt4 key购买 nike

我为学生准备了下表(制表符分隔)。提供了 8 月份的姓名、类(class)、年级以及 9 月份的年级。

1   Tom Bever   101 20,6    21,3
2 John Hein 102 23,7 22,4
3 Melissa Andrew 401 24,1 25,3

我使用以下代码将其转换为 python 字典:

myfile = open ("students.txt", "r")
d = { }
for line in myfile:
x = line.strip().split("\t")
key, values = x[1], x[2:]
d.setdefault(key, []).extend(values)
print(d)

现在,我需要使用正则表达式来计算

  1. 成绩最低的学生姓名

  2. 增加的学生姓名

  3. 根据九月份的最高成绩对他们进行排序

那么,如何使用 RE 迭代字典来回答这些问题?

最佳答案

您可以获得这三个结果,例如:

代码:

with open("students.txt", "r") as f:
d = {y[1]: list(map(float, y[2:])) for y in (
x.strip().split("\t") for x in f)}
print(sorted(d.items(), key=lambda x: min(x[1][1:3]))[0][0])
print([k for k, v in d.items() if v[1] < v[2]])
print([k for k, v in sorted(d.items(), key=lambda x: x[1][2])])

结果:

Tom Bever
['Tom Bever', 'Melissa Andrew']
['Melissa Andrew', 'John Hein', 'Tom Bever']

关于python - 使用正则表达式迭代从制表符分隔表创建的 Python 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52462148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com