如何从Python中的唯一列表访问下一个元素
我在如何从Python中的唯一列表访问下一个元素,python,python-3.x,list,list-comprehension,Python,Python 3.x,List,List Comprehension,我在Python lst=['a', 'b', 'c', 'd', 'e', 'f'] 对于给定值,访问列表中下一个元素的最佳方式是什么 例如,我想得到: next_element(lst, 'c') # 'd' should return adjacent value of 'c' Pythonian的方法是什么?这个函数应该做你想做的事情-我认为使用index方法将是解决你的问题的最Pythonian的方法-虽然我可能错了,但这正是我的想法 def next_element(lst, e
Python
lst=['a', 'b', 'c', 'd', 'e', 'f']
对于给定值,访问列表中下一个元素的最佳方式是什么
例如,我想得到:
next_element(lst, 'c')
# 'd' should return adjacent value of 'c'
Pythonian的方法是什么?这个函数应该做你想做的事情-我认为使用index方法将是解决你的问题的最Pythonian的方法-虽然我可能错了,但这正是我的想法
def next_element(lst, element):
idx = lst.index(element)
return lst[idx +1]
这个函数应该做你想做的-我认为使用索引方法将是解决你的问题的最pythonian的方法-虽然我可能错了,但这正是我的想法
def next_element(lst, element):
idx = lst.index(element)
return lst[idx +1]
下面是一个简单的方法
def next_element(l, elt):
return l[l.index(elt)+1]
如果传入函数的元素是列表中的最后一个元素,则会引发错误。根据您的需求,您可能需要添加一些逻辑来处理该问题。此外,这假定列表中的所有元素都是唯一的
然而,对于一个大的列表,这个解决方案将非常缓慢list.index
逐个元素搜索列表元素,直到找到正确的元素,因此它在O(n)中运行。如果您试图遍历列表,但不想使用循环,可以根据需要创建迭代器遍历列表
lst = ['a', 'b', 'c', 'd', 'e', 'f']
myit = iter(lst)
next(myit) # will return 'a'
next(myit) # will return 'b'
下面是一个简单的方法
def next_element(l, elt):
return l[l.index(elt)+1]
如果传入函数的元素是列表中的最后一个元素,则会引发错误。根据您的需求,您可能需要添加一些逻辑来处理该问题。此外,这假定列表中的所有元素都是唯一的
然而,对于一个大的列表,这个解决方案将非常缓慢list.index
逐个元素搜索列表元素,直到找到正确的元素,因此它在O(n)中运行。如果您试图遍历列表,但不想使用循环,可以根据需要创建迭代器遍历列表
lst = ['a', 'b', 'c', 'd', 'e', 'f']
myit = iter(lst)
next(myit) # will return 'a'
next(myit) # will return 'b'
您可以使用内置功能:
some_list = ['a', 'b', 'c', 'd', 'e', 'f']
random_iterator = iter(some_list)
print(next(random_iterator)) #Output = a
print(next(random_iterator)) #Output = b
next()
的语法是:
next(iterator, default)
iterator
-next()
从iterator
默认值
(可选)-如果迭代器为
耗尽(没有下一项)next()
函数从迭代器返回下一项默认值
参数并且迭代器已用尽,
它引发StopIteration
异常some_list = ['a', 'b', 'c', 'd', 'e', 'f']
random_iterator = iter(some_list)
print(next(random_iterator)) #Output = a
print(next(random_iterator)) #Output = b
next()
的语法是:
next(iterator, default)
iterator
-next()
从iterator
默认值
(可选)-如果迭代器为
耗尽(没有下一项)next()
函数从迭代器返回下一项默认值
参数并且迭代器已用尽,
它引发StopIteration
异常