我有下面的代碼作業。
我需要什么:在我得到兩個包含 10 個元素的串列后,我的迭代器仍然有 80 個元素,所以我需要重復這個程序 4 次,但我想在每個回圈中重置兩個串列。
我不想創建 arr3、arr4...等,因為原始陣列有超過 100000 個元素。
如何重復此回圈以重置串列?
# creating an array with 100 samples
array = np.random.rand(100)
# making the array an iterator
iter_array = iter(array)
# List to store first 10 elements
arr1=[]
# List to store next 10 elements
arr2=[]
# First Iteration to get 2 list of 10 elements each
for _ in itertools.repeat(None, 10):
a =next(iter_array)
arr.append(a)
b=next(iter_array)
arr2.append(b)
uj5u.com熱心網友回復:
您可以將結果存盤在 list-of_lists 中:
import numpy as np
import itertools
# creating an array with 100 samples
array = np.random.rand(100)
# making the array an iterator
iter_array = iter(array)
# List to store first 10 elements
n = 2
result = [[] for _ in range(n)]
# First Iteration to get 2 list of 10 elements each
for _ in itertools.repeat(None, 10):
for i in range(n):
result[i].append(next(iter_array))
print(f"{result = }")
您可以更改 n 值以存盤 8 個或更多陣列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/335379.html
上一篇:包括嵌套串列的排列
