Python 3.x 可以用python中的一行代码生成下面的字典吗?
以下代码:Python 3.x 可以用python中的一行代码生成下面的字典吗?,python-3.x,dictionary,for-loop,Python 3.x,Dictionary,For Loop,以下代码: import datetime as dt fruit_lst = ['apple','orange','pear'] fruit_dict = {} fruit_dict['datetime'] = dt.datetime(2020,1,1) for fruit in fruit_lst: fruit_dict[fruit] = 0 生成此词典: {'datetime': datetime.datetime(2020, 1, 1, 0, 0), 'apple': 0,
import datetime as dt
fruit_lst = ['apple','orange','pear']
fruit_dict = {}
fruit_dict['datetime'] = dt.datetime(2020,1,1)
for fruit in fruit_lst:
fruit_dict[fruit] = 0
生成此词典:
{'datetime': datetime.datetime(2020, 1, 1, 0, 0),
'apple': 0,
'orange': 0,
'pear': 0}
是否可能(或希望)将代码重新写入一行并生成相同的输出
谢谢 您可以执行以下操作:
fruit_dict = dict(datetime=dt.datetime(2020,1,1), **{f:0 for f in fruit_lst})
print(fruit_dict)
印刷品:
{'datetime': datetime.datetime(2020, 1, 1, 0, 0), 'apple': 0, 'orange': 0, 'pear': 0}
但是显式for循环更具可读性。我会一直这样写。非常感谢您对可读性重要性的评论。