字典理解多种方法

问题描述 投票:-1回答:1

Python中以下两个语句之间有什么区别?

l = [1,2,3,4]
a = {item:0 for item in l}
b = dict((item,0) for item in l)
a == b
# True

[我相信第一种方法是通过对PEP的理解来初始化字典的正确方法,但是第二种方法似乎只是创建一个生成器表达式,然后根据该表达式创建一个dict(所以也许它执行与幕后的第一种方法?)。两者之间的实际区别是什么?应该优先选择哪个?

Python中以下两个语句之间有什么区别? l = [1,2,3,4] a = {l中项的item:0} b = dict(l中项的item(0))a == b#是的,我相信第一个是正确的。 ..

python generator python-internals
1个回答
2
投票
a = {item:0 for item in l}
© www.soinside.com 2019 - 2024. All rights reserved.