我想将列表中的每个第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