Python索引元组

2024-10-04 09:26:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个函数,这个函数应用于元组时应该返回元组中的偶数索引元素。为什么不返回第四个索引元素?在

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

Tags: 函数元素indexdefelementreturns元组other
2条回答

对我来说很好。元组从0开始索引。如果你有元组:

(0,1,2,3,4,5,6)

它回来了

(0, 2, 4, 6)

如果你想要第四名,你需要换衣服

if i % 2 == 0:

进入

^{pr2}$

使用a.index将返回该项第一次出现的索引。当元组中的项不是唯一的时,就不能指望它。在

您应该考虑改用enumerate

for i, v in enumerate(aTup):
    if i % 2 == 0:
        ...

您最好还是使用切片,并且不要太冗长:

^{pr2}$

另外,请记住,默认情况下,索引0开始。但是使用enumerate可以从选定的数字开始:

for i, v in enumerate(aTup, 1) # starts counting from 1

相关问题 更多 >