在Python中使用 enumerate 以相反的顺序输出枚举
要以相反的顺序使用 enumerate 函数:
- 迭代时使用 enumerate() 函数访问索引。
- 将枚举对象转换为列表并反转列表。
- 使用 for 循环以相反的顺序遍历列表。
my_list = ['a', 'b', 'c', 'd', 'e']
for index, item in reversed(list(enumerate(my_list))):
print(index, item) # ?️ 4 e 3 d 2 c 1 b 0 a
# ------------------------------
for item in reversed(my_list):
print(item) # ?️ e d c b a
我们使用 reversed() 函数反向迭代枚举对象。
enumerate() 函数接受一个可迭代对象并返回一个包含元组的枚举对象,其中第一个元素是索引,第二个是项目。
my_list = ['a', 'b', 'c', 'd', 'e']
for index, item in enumerate(my_list):
print(index, item) # ?️ 0 a, 1 b, 2 c, 3 d, 4 e
我们使用 list() 类将枚举对象转换为列表,因为 reversed() 函数采用的第一个参数是一个序列。
my_list = ['a', 'b', 'c', 'd', 'e']
# [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')]
print(list(enumerate(my_list)))
# [(4, 'e'), (3, 'd'), (2, 'c'), (1, 'b'), (0, 'a')]
print(list(reversed(list(enumerate(my_list)))))
最后一步是使用 for 循环遍历元组列表。
my_list = ['a', 'b', 'c', 'd', 'e']
for index, item in reversed(list(enumerate(my_list))):
print(index, item) # ?️ 4 e, 3 d, 2 c, 1 b, 0 a
每个元组中的第一个元素是索引,第二个元素是对应的值。
如果我们只需要以相反的顺序遍历列表并且不需要访问索引,请直接使用 reversed() 函数。
my_list = ['a', 'b', 'c', 'd', 'e']
for item in reversed(my_list):
print(item) # ?️ e, d, c, b, a
reversed() 函数接受一个迭代器,将其反转并返回结果。
my_list = ['a', 'b', 'c', 'd', 'e']
# ['e', 'd', 'c', 'b', 'a']
print(list(reversed(my_list)))
reversed() 函数返回一个迭代器对象。 如果需要将对象转换为列表,可以将其传递给 list() 类。
但是,如果我们只需要以相反的顺序遍历列表,则可以直接进行。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。