将多个变量添加到字典中
我正在从多个文件夹加载文件,并把这些文件的路径收集到一个字典里。
directory_list = ["A", "B"]
for i in directory_list:
path_1 = "U:/me/documents/{}/file1".format(i)
path_2 = "U:/me/documents/{}/file2".format(i)
我想把这些路径放到一个字典里。
我可以这样做:
directory_list = ["A", "B"]
dictionary = {"A": {}, "B": {}}
for i in directory_list:
path_1 = "U:/me/documents/{}/file1".format(i)
path_2 = "U:/me/documents/{}/file2".format(i)
dictionary[i]["path_1"] = path_1
dictionary[i]["path_2"] = path_2
但是我在想,是否有比一个一个添加路径更有效的方法(我总共有超过5个路径)。
这是我想要的输出:
{'A': {'path_1': 'U:/me/documents/A/file1',
'path_2': 'U:/me/documents/A/file2'},
'B': {'path_1': 'U:/me/documents/B/file1',
'path_2': 'U:/me/documents/B/file2'}}
有没有更有效的方法来做到这一点呢?
1 个回答
1
使用字典推导式:
directory_list = ['A', 'B']
file_count = 2
file_numbers = range(1, file_count+1)
file_paths = {d:{f'path_{i}':f'U:/me/documents/{d}/file{i}' for i in file_numbers}
for d in directory_list}
结果:
{'A': {'path_1': 'U:/me/documents/A/file1',
'path_2': 'U:/me/documents/A/file2'},
'B': {'path_1': 'U:/me/documents/B/file1',
'path_2': 'U:/me/documents/B/file2'}}