要求:
- 我想運行一個 for 回圈,它會根據它的范圍創建一個新串列
- 創建串列后,我希望串列附加迭代中運行的資料
- 如果我的范圍為 5,則應創建 4 個串列,同時將用于存盤資料
我知道的解決方案:
- 我可以手動創建 4 個串列,并且可以使用 if else 條件分配它們,但是如果我想創建 100 個串列,這將無濟于事
我的代碼:
a = []
b = []
c = []
d = []
for i in range (1,5):
if i == 1:
a.append(i)
elif i == 2:
b.append(i)
elif i == 3:
c.append(i)
else:
d.append(i)
print(a,b,c,d)
輸出
[1] [2] [3] [4]
在這里,我們手動創建和附加 4 個串列,
我希望用 for 回圈自動完成這件事
uj5u.com熱心網友回復:
您可能想要使用串列理解
num_of_lists = 10
list_of_lists = [[i] for i in range(1,num_of_lists )]
然后在需要時展平:
def flatten_list(l):
return [item for sublist in l for item in sublist]
flatten_list(list_of_lists)
uj5u.com熱心網友回復:
您可以使用串列理解,
In [80]: result = [[i] for i in range(1, 5)]
In [81]: result
Out[81]: [[1], [2], [3], [4]]
或者,
In [82]: result = []
In [83]: for i in range(1, 5):
...: result.append([i])
uj5u.com熱心網友回復:
使用字典。
例子:
mydict = {};
for i in range (1,5):
mydict[i] = [i]
這將創建一個像這樣的物件:
{1: [1], 2: [2], 3: [3], 4: [4]}
您可以根據需要對其進行迭代/互動。
uj5u.com熱心網友回復:
如果我理解你的意圖,你不需要 100 個變數,你只需要創建一個串列串列并以這種方式附加元素
list_of_lists = []
for i in range(1,5):
list_of_lists.append([i])
print(list_of_lists)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/504784.html
下一篇:如何過濾字典?
