爱笑的无赖 发表于 2022-5-6 11:03:53

如何循环得出字典里的键和值

这是集合(下)动动手的第0题
我自己写的答案。
import random

a = []
b = []
aresult = []
bresult = []
length = []

for each in range(100):
        a.append(random.randint(1, 100))
        b.append(random.randint(50,100))

da = dict.fromkeys(a, 250)
db = dict.fromkeys(b, 250)

if len(da) >= len(db):
        length = len(db)
else:
        length = len(da)
       

#交集
for i in da:
        for j in db:
                if i == j:
                        aresult.append(i)

#并集

for i in da:
        bresult.append(i)
for i in db:
        bresult.append(i)
       
#输入结果
print(f'交集是{aresult}')
print(f'并集是{bresult}')


碰巧发现用上面的for循环把 i 添加到新列表中 就是结果。
问题是 在我的思维中, for循环出来的 i 应该是 (键值:value)的格式的。
为啥python循环出来的结果 i只是代表键值?
如果我想将键值和value一起循环出来, 这个代码应该怎么改呢?

isdkz 发表于 2022-5-6 11:07:06

你直接迭代字典是迭代出键的,想迭代出键值对用 items 方法



for k, v in d.items():
    # k 为字典的键,v 为对应的键值

爱笑的无赖 发表于 2022-5-6 13:17:24

isdkz 发表于 2022-5-6 11:07
你直接迭代字典是迭代出键的,想迭代出键值对用 items 方法



好的 谢谢!
页: [1]
查看完整版本: 如何循环得出字典里的键和值