如何在Python中通过字典或列表的FOR循环获取项目的键?

18 投票
3 回答
21704 浏览
提问于 2025-04-15 23:49

我刚开始学习Python。

假设我有一个列表:

list = ['A','B','C','D']

这里每个项目的索引分别是0,1,2,3,对吧?

现在我打算用一个for循环来遍历这个列表……

for item in list:
    print item

太好了,我可以打印出我的列表。

那么我怎么才能在这里获取到索引呢?比如说我想这样做:

print key
print item

在每次循环的时候?

如果在列表中无法做到,因为索引不是我自己声明的,那在字典中可以做到吗?

谢谢!

3 个回答

3

你应该使用字典,反正你可以这样做:

for index, item in enumerate(yourlist):
    print "index:%d item:%s" % (index, item)
11

你想要的是索引,而不是键。为此,你可以使用 enumerate

for index, item in enumerate(l):
    print index
    print item

这在Python教程的 循环技巧 部分中提到过,这部分也讲了如何在遍历字典时同时获取键和值。

>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.iteritems():
...     print k, v
...
gallahad the pure
robin the brave
27

对于 listdict,答案是不同的。

一个 list 没有 key。每个项目都有一个索引。你可以这样遍历一个列表:

>>> l = ['A','B','C','D']
>>> for index, item in enumerate(l):
...     print index
...     print item
... 
0
A
1
B
2
C
3
D

我在这里用了你的例子,但把 list 叫做 'l',这样就不会和保留字冲突了。

如果你遍历一个 dict,你会得到键:

>>> d = {0: 'apple', 1: 'banana', 2: 'cherry', 3: 'damson', }
>>> for k in d:
...     print k
...     print d[k]
... 
0
apple
1
banana
2
cherry
3
damson

撰写回答