我是Python的新手,我试图更好地理解字典理解。假设我有一本包含大量键的字典,而list在字典中包含一个较小的键子集(但有点大)。如果可能,您如何使用dict理解来使用列表中的键访问所有值?
nw_dt = {}
for i in range(101):
nw_dt[chr(i)] = randint(0, 101)
ky_lit = [chr(b) for b in range(50, 101)]
我很累的是:
for kys in nw_dt:
nw_dt[f'{kys for v in ky_lit}']
但是该字符串是一个生成器表达式,它返回一个KeyError
我也尝试搜索单个键:
for kys in nw_dt:
nw_dt[f'{kys if kys == chr(51)}']
它返回字符串的EOF分析错误
答案 0 :(得分:2)
您可以遍历字典理解中的列表:
{key: nw_dt[key] for key in ky_lit}
词典理解创建新词典,但是它可以遍历任何可迭代的类型。