Select 有条件地从列表中选择下一个元素
Select next element from list conditionally
初学者问题:
假设我有以下列表,
list=['spam', 'eggs', 'ham', 'foo', 'bar']
我想检查某个项目是否在列表中。如果此项目在列表中,我想 select 下一个项目。例如。如果 eggs
在 list
,我想 return ham
。
我的问题类似于this one,但我不想指定下一个元素。 IE。我希望代码根据初始元素的位置 return 下一个项目。
有点像,
if 'eggs' in list:
next = item(position of eggs + 1)
我该怎么办?
前提是只有 1 个项目具有相同的值(否则 index
无法按预期工作,因为它 returns 是 第一次 出现的索引) 你可以这样做:
l=['spam', 'eggs', 'ham', 'foo', 'bar']
try:
next_element = l[l.index('eggs')+1]
except (ValueError,IndexError):
next_element = ""
print(next_element)
如果元素未找到或出现在最后,则捕获异常并且不打印任何内容。
顺便说一句:我更改了 list
和 next
名称,因为它们是内置的。
初学者问题:
假设我有以下列表,
list=['spam', 'eggs', 'ham', 'foo', 'bar']
我想检查某个项目是否在列表中。如果此项目在列表中,我想 select 下一个项目。例如。如果 eggs
在 list
,我想 return ham
。
我的问题类似于this one,但我不想指定下一个元素。 IE。我希望代码根据初始元素的位置 return 下一个项目。
有点像,
if 'eggs' in list:
next = item(position of eggs + 1)
我该怎么办?
前提是只有 1 个项目具有相同的值(否则 index
无法按预期工作,因为它 returns 是 第一次 出现的索引) 你可以这样做:
l=['spam', 'eggs', 'ham', 'foo', 'bar']
try:
next_element = l[l.index('eggs')+1]
except (ValueError,IndexError):
next_element = ""
print(next_element)
如果元素未找到或出现在最后,则捕获异常并且不打印任何内容。
顺便说一句:我更改了 list
和 next
名称,因为它们是内置的。