caeser 发表于 2023-2-7 12:16:08

为什么结果不同?

import random
x = dict.fromkeys(random.randint(1,100) for i in range(100))
y = dict.fromkeys(random.randint(50,150) for i in range(100))

inter = dict.fromkeys()
print(list(inter.keys()))

结果:


for each in x:
    if each in y:
          inter=dict.fromkeys()
print(list(inter.keys()))

结果:

请教下各位老师,为什么我展开后只能得到最后一个值呢?

isdkz 发表于 2023-2-7 12:29:10

本帖最后由 isdkz 于 2023-2-7 12:30 编辑

因为 inter=dict.fromkeys() 里面的 每次都只有一个值呀,然后 inter 一次又一次地被重新赋值,到最后也就只有一个值
展开来应该是这样的:
temp = []
for each in x:
    if each in y:
          temp.append(each)
inter = dict.fromkeys(temp)
页: [1]
查看完整版本: 为什么结果不同?