Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 可以用python中的一行代码生成下面的字典吗?_Python 3.x_Dictionary_For Loop - Fatal编程技术网

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循环更具可读性。我会一直这样写。

非常感谢您对可读性重要性的评论。