用Python方式定义列表项中的Dictionary键的方法

时间:2019-07-15 15:16:21

标签: python

是否存在使用列表中的项定义字典的键和值的pythonic方法?

例如,我可以使用:

s = {}
a = ['aa', 'bb', 'cc']

for a in aa:
   s['text_%s' %a] = 'stuff %s' %a

In [27]: s
Out[27]: {'text_aa': 'stuff aa', 'text_bb': 'stuff bb', 'text_cc': 'stuff cc'}

我想知道是否有可能通过列表理解或其他技巧来遍历列表。

类似:

s[('text_' + a)] = ('stuff_' + a) for a in aa

谢谢!

2 个答案:

答案 0 :(得分:5)

使用字典理解:

{'text_%s' %x: 'stuff %s' %x for x in a}

在较新版本中:

{f'text_{x}': f'stuff {x}' for x in a}

答案 1 :(得分:3)

您可以使用字典理解:

a = ['aa', 'bb', 'cc']
my_dict = {f'key_{k}':f'val_{k}' for k in a}
print(my_dict)

输出:

{'key_aa': 'val_aa', 'key_bb': 'val_bb', 'key_cc': 'val_cc'}