我有以下串列:
l1 = list(range(10))
l2 = [False for i in range(10)]
我可以通過實作以下代碼將它們合并到字典串列中:
res = [{l1[i]: l2[i] for i in range(len(l1))}]
我的結果如下:
[{0: False,
1: False,
2: False,
3: False,
4: False,
5: False,
6: False,
7: False,
8: False,
9: False}]
我想重復字典x時代的內容。例如,如果x=2串列res如下:
[{0: False,
1: False,
2: False,
3: False,
4: False,
5: False,
6: False,
7: False,
8: False,
9: False},
{0: False,
1: False,
2: False,
3: False,
4: False,
5: False,
6: False,
7: False,
8: False,
9: False}]
我的問題是如何定義一種基于x數字重復字典內容并將結果保存在res串列中的方法。
謝謝
uj5u.com熱心網友回復:
只需通過像這樣的另一個回圈來擴展您的理解:
N=3
res = [{l1[i]: l2[i] for i in range(len(l1))} for _ in range(N)]
print(res)
[{0: False,
1: False,
2: False,
3: False,
4: False,
5: False,
6: False,
7: False,
8: False,
9: False},
{0: False,
1: False,
2: False,
3: False,
4: False,
5: False,
6: False,
7: False,
8: False,
9: False},
{0: False,
1: False,
2: False,
3: False,
4: False,
5: False,
6: False,
7: False,
8: False,
9: False}]
uj5u.com熱心網友回復:
您可以使用zip將 2 個串列連接在一起,然后用另一個串列理解重復它們:
l1, l2 = [*range(10)], [False]*10
n = 3
res = [{i1:i2 for i1,i2 in zip(l1,l2)} for _ in range(n)]
uj5u.com熱心網友回復:
這是一個可能的解決方案:
result = [dict(zip(l1, l2)) for _ in range(x)]
uj5u.com熱心網友回復:
res = [{l1[i]: l2[i] for i in range(len(l1))}] * x
uj5u.com熱心網友回復:
您可以將串列相乘。
res = [{i: False for i in range(10)}] * x
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/522480.html
標籤:Python列表字典
上一篇:我有一個影像串列“Image1,Image2,Image3...”。是否可以使用for回圈將它們全部添加到串列中?
