我有數組的數組:通過元件插入一個列表,元素,成陣列的陣列中的元素
parameters = [np.array([ 2.1e-04, -8.3e-03, 9.8e-01]), np.array([ 5.5e-04, 1.2e-01, 9.9e-01]), ...]
,其長度:
print len(parameters)
100
如果我們的標籤的元素parameters
作爲parameters[i][j]
:
則有可能訪問每個數量,即print parameters[1][2]
給出0.99
我也有一個陣列:
temperatures = [110.51, 1618.079, ...]
,其長度也100
:
print len(temperatures)
100
讓的temperatures
元素是k
:
我想插入的每個k
th元素將temperatures
分成parameters
的每個i
個元素,以便獲得final
:
final = [np.array([ 2.1e-04, -8.3e-03, 9.8e-01, 110.51]), np.array([ 5.5e-04, 1.2e-01, 9.9e-01, 1618.079]), ...]
我曾試圖使像一個zip
循環:
for i,j in zip(parameters, valid_temperatures): final = parameters[2][i].append(valid_temperatures[j])
但這不起作用。如果你能幫助我,我將不勝感激。
編輯:基於@hpaulj答案:
如果運行解決方案1 :
parameters = [np.array([ 2.1e-04, -8.3e-03, 9.8e-01]), np.array([ 5.5e-04, 1.2e-01, 9.9e-01])]
temperatures = [110.51, 1618.079]
for i,(arr,t) in enumerate(zip(parameters,temperatures)):
parameters[i] = np.append(arr,t)
print parameters
它提供:
[array([ 2.10000000e-04, -8.30000000e-03, 9.80000000e-01,
1.10510000e+02]), array([ 5.50000000e-04, 1.20000000e-01, 9.90000000e-01,
1.61807900e+03])]
這是所需的輸出。
此外,溶液2:
parameters = [np.array([ 2.1e-04, -8.3e-03, 9.8e-01]), np.array([ 5.5e-04, 1.2e-01, 9.9e-01])]
temperatures = [110.51, 1618.079]
parameters = [np.append(arr,t) for arr, t in zip(parameters,temperatures)]
print parameters
也給出了期望的輸出。
與之相對溶液1,溶液2不使用第i
索引enumerate
。因此,如果我剛分割溶液2的[np.append ... for arr ]
語法如下方式:
parameters = [np.array([ 2.1e-04, -8.3e-03, 9.8e-01]), np.array([ 5.5e-04, 1.2e-01, 9.9e-01])]
temperatures = [110.51, 1618.079]
for arr, t in zip(parameters,temperatures):
parameters = np.append(arr,t)
print parameters
輸出僅包含最後一次迭代,而不是在‘陣列格式’:
[ 5.50000000e-04 1.20000000e-01 9.90000000e-01 1.61807900e+03]
如何通過打印所有的迭代來實現這個功能? 感謝
你有陣列的*列表* ...然後下的*列表*。 –
可能'parameters [i] =參數[i] .append(溫度[i])''。這應該附加'溫度'的第i個元素到'參數'中的元素# –
@ArturRychlewicz不,它不會,因爲'列表!= np.array' –