初学者的问题:
说我有以下列表,
list=['spam', 'eggs', 'ham', 'foo', 'bar']
我想检查列表中是否有某个项目。如果此项目在列表中,我想选择下一个项目。例如。如果eggs
位于list
,我想返回ham
。
我的问题类似于this one,但我不想要指定下一个元素。即我希望代码根据初始元素的位置返回下一个项目。
类似的东西,
if 'eggs' in list:
next = item(position of eggs + 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)
如果找不到元素或者最后一个元素,则会捕获异常并且不会打印任何内容。
顺便说一句:我更改了list
和next
名称,因为他们是内置插件。