我正在创建一个函数,将此函数应用于元组时,它应该返回元组中的偶数索引元素。怎么不返回第四个索引元素呢?
def oddTuples(aTup):
'''
aTup: a tuple
returns: tuple, every other element of aTup.
'''
evenIndex = ()
evenTuple = ()
for i in aTup:
if aTup.index(i)%2 == 0:
evenIndex = evenIndex + (aTup.index(i),)
evenTuple += (aTup[aTup.index(i)],)
return evenTuple
最佳答案
使用a.index
将返回该项目首次出现的索引。当元组中的项不是唯一时,您真的不能指望这一点。
您应该考虑改用enumerate
:
for i, v in enumerate(aTup):
if i % 2 == 0:
...
您最好还是使用切片,不要太冗长:
aTup[::2] # starts at zero, stops at the length of the tuple, steps in 2s
另外,请记住,默认情况下,索引从
0
开始。但是使用enumerate
可以使它从选定的数字开始:for i, v in enumerate(aTup, 1) # starts counting from 1
关于python - Python索引元组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38436073/