gpt4 book ai didi

python - 如何将我的 for 循环重构为 python 字典理解?

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:42 24 4
gpt4 key购买 nike

我正在使用 Python 3.6。我写了下面的代码,它是一个 for 循环:

编辑: var l 写错了,所以我在这里重新输入。感谢@Ender Look !!!

l = [['a','1'], ['a','2'], ['a','3']]
d = {}
for i in l:
d[i[0]] = d.get(i[0], '') + '\t' + i[1]
print (d)

所以,结果就是我想要的:{'a': '\t1\t2\t3'}

然后我将上面的代码重构为理解:


字典 2 = {}
dict2 = {i[0]: dict2.get(i[0], '') + '\t' + i[1] for i in l}
打印(dict2)

我虽然他们应该返回相同的输出。但是 dict2 是:

{'a': '\t3'}

我想知道我的字典理解有什么问题?非常感谢!

最佳答案

您不一定需要在这里使用理解。您可以使用 collections 中的 defaultdict :

>>> from collections import defaultdict
>>> d = defaultdict(str)
>>> for li in l:
... d[li[0]] += f'\t{li[1]}'
...
>>> d
defaultdict(<class 'str'>, {'a': '\t1\t2'})

关于python - 如何将我的 for 循环重构为 python 字典理解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461306/

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