gpt4 book ai didi

python - 字典中的列表值列表?

转载 作者:太空宇宙 更新时间:2023-11-03 19:22:18 25 4
gpt4 key购买 nike

输入文件“test.txt”:

a 2012 fff

b 2011 ttt

a 2011 fff

b 2012 sss

a 2011 vvv

我已确定以下代码来填充字典和排序值:

from collections import defaultdict
res = defaultdict(list)
with open('test.txt','r') as file:
for line in file:
field0, field1, field2 = line.split()
res[field0] += [field1, field2]

for i in res.keys():
print i, sorted(res[i], key=lambda x: x[0])

但是,这会产生“a [2011, 2011, 2012, fff, fff, vvv]”,我希望输出的格式与输入完全相同(但已排序):

a 2011 fff

a 2011 vvv

a 2012 fff

我不能只对原始输入使用排序,因为我将多次引用并且需要存储在内存中。每行的值是否应该存储在列表中(即字典值是列表的列表)?

最佳答案

假设您出于自己的原因需要一个像这样构建的dict

您需要更改此行:

res[field0] += [field1, field2]

与:

res[field0].append((field1, field2))

然后像这样排序:

for key in sorted(res):
for pair in sorted(res[key]):
print '{0} {pair[0]} {pair[1]}'.format(key, pair=pair)

关于python - 字典中的列表值列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9300226/

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