我正在嘗試爲列表列表創建一個自定義轉換。我試圖在子列表上運行算術運算,但我不成功。這裏是我的代碼:帶列表參數的映射函數
def my_transform(seq):
new_seq = []
new_seq[0] = seq[0] + 100
new_seq[1] = seq[1] - 1
new_seq[2] = seq[2] * seq[2]
return new_seq
my_list = [[1,2,3], [4,5,6]]
new_list = map(my_transform, my_list) # error
# ideal output:
#[[101,1,9], [104,4,36]]
,但我得到了以下錯誤:
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
map(my_transform,my_list)
File "<pyshell#7>", line 3, in my_transform
new_seq[0] = seq[0] + 100
IndexError: list assignment index out of range
我也試過:
[my_transform(L) for L in my_list]
這給了我同樣的錯誤了。如何使用地圖和/或列表理解來獲得結果?謝謝!
保羅
做得好指出沒有必要的像這樣的新名單。 – squiguy