我有以下資料:
header = ['EXPERIMENT_ID', 'SESSION_ID', 'TRIAL_END', 'TRIAL_START']
data = ([(1, 1, 85.3543804, 74.7716105),
(1, 1, 95.3867684, 85.3710747),
(1, 1, 105.4189535, 95.4033732)])
如何使所有資料 [n][0] 標記為“EXPERIMENT_ID”,資料 [n][1] 標記為“SESSION_ID”,資料 [n][2] 標記為“TRIAL_END”和資料 [n] [3] 作為“TRIAL_START”?
我知道 dict() 是這個組合程序的方法,所以我將它想象成這樣:
datadict = (dict(EXPERIMENT_ID = 1, SESSION_ID= 1, TRIAL_END = 85.3543804, TRIAL_START = 74.7716105), (dict(EXPERIMENT_ID = 1, SESSION_ID= 1, TRIAL_END = 95.3867684, TRIAL_START = 85.3710747)...)
我目前在 for 回圈中有一個 for 回圈,它通過一個一個地訪問每個變數來實作這一點,但它在腳本本身中占用了相當大的空間。我想知道是否有更有效的方法來完成這項任務?
uj5u.com熱心網友回復:
如本鏈接所述,我們可以一起使用 dict() 和 zip() 。下面的代碼仍然使用回圈來遍歷串列。
header = ['EXPERIMENT_ID', 'SESSION_ID', 'TRIAL_END', 'TRIAL_START']
data = ([(1, 1, 85.3543804, 74.7716105),
(1, 1, 95.3867684, 85.3710747),
(1, 1, 105.4189535, 95.4033732)])
out = []
for d in data:
out.append(dict(zip(header,d)))
print(out)
[{'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 85.3543804, 'TRIAL_START': 74.7716105}, {'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 95.3867684, 'TRIAL_START': 85.3710747}, {'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 105.4189535, 'TRIAL_START': 95.4033732}]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373948.html
