我有一個“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)
我想以 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
期望輸出
和我上面的輸出一樣,我只是想看看有沒有更好的方法來做到這一點?
uj5u.com熱心網友回復:
這個 dict-comprehension 應該這樣做:
rows = [row1, row2, row3, row4]
{k: v for v, row in enumerate(rows, 1) for k in row}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/386384.html
