我想將列表中的每個第N個元素設置爲其他值。指定python列表中的每個第N個元素
(像this question這是Matlab的。)
這裏有N = 2的嘗試:
>>> x=['#%d' % i for i in range(10)]
>>> x
['#0', '#1', '#2', '#3', '#4', '#5', '#6', '#7', '#8', '#9']
>>> x[0::2] = 'Hey!'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: attempt to assign sequence of size 4 to extended slice of size 5
我怎樣才能解決這個問題?切片似乎期望可迭代,而不僅僅是一個單一的值。
這不是一個數組,它是一個列表。這很重要,因爲在標準庫中有一個數組類型,並且在普通庫'numpy'中有一個不同的類型,並且具有一個numpy'array','x [:: 2] ='Hey!''會實際上已經工作.. – DSM 2013-04-09 18:46:22
謝謝,我已經糾正它。 – 2013-04-09 20:14:12