我在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
时的更改,这是错误的。无论如何,谢谢你的帮助,伙计。
答案 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
。也就是说,只要找到值匹配,它就会移动到列表中的两个点,然后打印该值。这就是你想要的吗?