Win*_*y71 8 python dictionary list
我有一个“ID”列表,我希望将其与另一个列表中的属性(它们的“行”)关联起来。我找到了一种方法来做到这一点,通过制作较小的字典并将它们连接在一起,这是有效的,但我想知道是否有一种更Pythonic的方法来做到这一点?
代码
row1 = list(range(1, 6, 1))
row2 = list(range(6, 11, 1))
row3 = list(range(11, 16, 1))
row4 = list(range(16, 21, 1))
row1_dict = {}
row2_dict = {}
row3_dict = {}
row4_dict = {}
for n in row1:
row1_dict[n] = 1
for n in row2:
row2_dict[n] = 2
for n in row3:
row3_dict[n] = 3
for n in row4:
row4_dict[n] = 4
id_to_row_dict = {}
id_to_row_dict = {**row1_dict, **row2_dict, **row3_dict, **row4_dict}
print('\n')
for k, v in id_to_row_dict.items():
print(k, " : ", v)
Run Code Online (Sandbox Code Playgroud)
我想以Python方式更多地复制的字典的输出
1 : 1
2 : 1
3 : 1
4 : 1
5 : 1
6 : 2
7 : 2
8 : 2
9 : 2
10 : 2
11 : 3
12 : 3
13 : 3
14 : 3
15 : 3
16 : 4
17 : 4
18 : 4
19 : 4
20 : 4
Run Code Online (Sandbox Code Playgroud)
所需输出
与我上面的输出相同,我只是想看看是否有更好的方法来做到这一点?
wim*_*wim 10
这个字典理解应该做到这一点:
rows = [row1, row2, row3, row4]
{k: v for v, row in enumerate(rows, 1) for k in row}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |