初学者问题:
假设我有以下列表,
list=['spam', 'eggs', 'ham', 'foo', 'bar']
我想检查某个项目是否在列表中。如果该项目在列表中,我想选择下一个项目。例如。如果eggs
在list
中,我想返回ham
。
我的问题类似于this one ,但我不想想要指定下一个元素。 IE。我希望代码根据初始元素的位置返回下一个项目。
类似于,
if 'eggs' in list:
next = item(position of eggs + 1)
我该怎么办?
最佳答案
假设只有 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
名称,因为它们是内置名称。
关于python - 有条件地从列表中选择下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43052067/