如何在遍历Python列表时同时获取索引与元素值
如何在遍历Python列表时同时获取索引与元素值
嘿,这个问题问得好!在Python里要同时拿到列表的索引和对应元素值,最地道、最符合Python风格的做法就是用内置的enumerate()函数,这也是Python社区公认的最优解~
直接给你看修改后的代码:
names = ["Alice", "Bob", "Charlie"] for index, name in enumerate(names): print(index, name)
运行这段代码后,输出就完全是你想要的:
0 Alice
1 Bob
2 Charlie
简单解释下enumerate()的工作原理
它会把你的列表包装成一个迭代器,每次循环迭代时,会返回一个包含当前索引和对应元素的元组,我们可以直接通过index, name这种方式把元组里的值解包到两个变量里,用起来特别顺手。
额外小技巧:自定义起始索引
如果你的场景里不需要从0开始计数,比如想从1开始,enumerate()还支持传入第二个参数start来指定起始值,比如:
names = ["Alice", "Bob", "Charlie"] for index, name in enumerate(names, start=1): print(index, name)
这时候输出就会变成:
1 Alice
2 Bob
3 Charlie
为啥说这是最Pythonic的方式?因为它比你手动维护一个计数器变量(比如先定义i=0,循环里print(i, name)再i +=1)要简洁得多,而且完全避免了手动计数可能带来的错误,可读性也拉满~
内容来源于stack exchange
相关产品推荐
相关产品推荐

