Python array.index不打印数字
我对数组中的返回偶数索引有问题Python array.index不打印数字,python,arrays,indexing,Python,Arrays,Indexing,我对数组中的返回偶数索引有问题 def checkio(array): if len(array): return ([i for i in array if array.index(i) % 2 == 0]) else: return 0 print (checkio([-37,-36,-19,-99,29,20,3,-7,-64,84,36,62,26,-76,55,-24,84,49,-65,41])) 这个代码返回 [-37, -19, 29, 3, -64, 36,
def checkio(array):
if len(array):
return ([i for i in array if array.index(i) % 2 == 0])
else:
return 0
print (checkio([-37,-36,-19,-99,29,20,3,-7,-64,84,36,62,26,-76,55,-24,84,49,-65,41]))
这个代码返回
[-37, -19, 29, 3, -64, 36, 26, 55, -65]
但是,如果我在数组中更改'84',例如更改'74',则返回
[-37, -19, 29, 3, -64, 36, 26, 55, 74, -65]
问题出在哪里?问题是
84
出现两次:
print (checkio([-37,-36,-19,-99,29,20,3,-7,-64,84,36,62,26,-76,55,-24,84,49,-65,41]))
^^ ^^
但是,array.index()
返回第一次出现的索引。这恰好位于奇数索引处,因此84
的所有出现都被抑制
如果只想获取其他元素,只需编写array[::2]
。这将获取索引0、2、4等处的元素。无需进行任何查找