字典推导式的结果怎么是这样的
d = {x:y for x in for y in }d
{1: 6, 3: 6, 5: 6}
为什么不是
{1:2,3:4,5:6}? 这是字典的一个特性它会覆盖 当 x=1 时
y 先后取 2,4,6:
d = 2
d = 4 #d = 2被覆盖
d = 6 #d = 4再次被覆盖
最终只剩下d = 6
当 x=3 时
y 先后取 2,4,6:
d = 2
d = 4 #d = 2被覆盖
d = 6 #d = 4再次被覆盖
最终只剩下d = 6
当 x=5 时
y 先后取 2,4,6:
d = 2
d = 4 #d = 2被覆盖
d = 6 #d = 4再次被覆盖
最终只剩下d = 6 拆成循环:
# d = {x:y for x in for y in }
d = {}
for x in :
for y in :
d = y
print(d) wp231957 发表于 2024-7-30 10:52
这是字典的一个特性它会覆盖
覆盖的意义是什么? William01 发表于 2024-7-31 10:09
覆盖的意义是什么?
就是当你给一个已经存在的KEY -VALUE赋值时,只要值是合法的,那么它就不会报错,会直接更新字典的key
值为新的value值 wp231957 发表于 2024-7-31 10:12
就是当你给一个已经存在的KEY -VALUE赋值时,只要值是合法的,那么它就不会报错,会直接更新字典的key
...
好的,谢谢!
页:
[1]