在使用dict理解的键列表中访问字典的键

时间:2019-04-10 23:34:27

标签: python python-3.x list dictionary-comprehension

我是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分析错误

1 个答案:

答案 0 :(得分:2)

您可以遍历字典理解中的列表:

{key: nw_dt[key] for key in ky_lit}

词典理解创建新词典,但是它可以遍历任何可迭代的类型。