我的列表是data1
和data2
,我可以成功地将两个列表放在一个字典中。当目录中的文件列表数量未知时,如何为所有这些文件执行此代码?
例如,我有(data1,data2,data3,data4,...)
final_dict = {key: value + data2[key] for key, value in data1.items()}
答案 0 :(得分:0)
猜测data1,data2等都是字典,并且您具有这些字典的列表。这是一种创建final_dict的方法,其中包含列表中所有dict中的每个键/值对:
# Unknown number of dicts
data1 = {'a': 1, 'b': 2}
data2 = {'c': 3, 'd': 4}
# List of the dicts
dict_list = [data1, data2]
final_dict = {}
for data_dict in dict_list:
for key, value in data_dict.items():
final_dict[key] = value
print(final_dict )
这是你的追求吗?
试图了解所需的输出
我仍然不明白您希望输出看起来如何。让我们尝试一个例子。如果数据如下所示:
data1 = {'encodings':['UTF-8', 'UTF-16', 'UTF-32'],'names':['Unicode']}
data2 = {'encodings':['ISO 8859-1', 'EBCDIC', 'GB18030', 'ASCII'],'names':['8-bit']}
data3 = {'encodings':['Windows-1250', 'KOI8-R', 'GBK'],'names':['other']}
data_list = [data1, data2, data3]
您希望final_dict
看起来像那些输入数据吗?
答案 1 :(得分:0)
假设你有你的数据字典已经被存储在一个名为列表dict_list
final_dict = {key: value for data_dict in dict_list for key, value in data_dict.items()}
会做同样为figbeam的答案。尽管不那么冗长,并且可能更难阅读,但它更接近于您建议的方法:)也许也有帮助。