有条件地从列表中选择下一个元素

时间:2017-03-27 16:45:51

标签: python list select element

初学者的问题:

说我有以下列表,

list=['spam', 'eggs', 'ham', 'foo', 'bar']

我想检查列表中是否有某个项目。如果此项目在列表中,我想选择下一个项目。例如。如果eggs位于list,我想返回ham

我的问题类似于this one,但我想要指定下一个元素。即我希望代码根据初始元素的位置返回下一个项目。

类似的东西,

if 'eggs' in list:
     next = item(position of eggs + 1)

我该怎么办?

1 个答案:

答案 0 :(得分:2)

前提是只有1个项目具有相同的值(否则index没有按预期工作,因为它返回第一个事件的索引)你可以这样做:

l=['spam', 'eggs', 'ham', 'foo', 'bar']

try:
    next_element = l[l.index('eggs')+1]
except (ValueError,IndexError):
    next_element = ""

print(next_element)

如果找不到元素或者最后一个元素,则会捕获异常并且不会打印任何内容。

顺便说一句:我更改了listnext名称,因为他们是内置插件。