如何在python中为索引添加特定的数字?

时间:2015-10-22 18:39:56

标签: python list indexing

我在python中有一个函数,用于检查listy_poo[0]的值是否为某个值。如果是,我需要跳过索引1并获取索引2的值。

我的代码:

def find():
    i = 0
    for e in listy_poo:
        if listy_poo[i] == 'value':
            print(listy_poo[i+2])
            i += 1

显然是错的,但是python中有什么东西可以完成我正在尝试的东西吗?

更新: 我认为问题是listy_poo[i+2]的语法,但查看历史记录表明我实际上没有保存我的尝试listy_poo[i]+2时的更改,这是错误的。无论如何,谢谢你的帮助,伙计。

1 个答案:

答案 0 :(得分:1)

您的代码即将开始运作。如果将其更改为

def find(listy_poo, value_str):
    for i, e in enumerate(listy_poo):
        if e == value_str and i+2 < len(listy_poo):
            print(listy_poo[i+2])

enumerate()函数返回列表中给定项的索引的元组,以及项本身。我还添加了一个检查(i+2 < len(listy_poo))以确保您没有得到IndexError。

看看你的描述,我不肯定这是做你想做的事。

如果您运行find(['a','b','c','d'],'b'),则该功能会打印出d。也就是说,只要找到值匹配,它就会移动到列表中的两个点,然后打印该值。这就是你想要的吗?