python:我可以在使用map()时访问元素的索引吗?

时间:2011-04-25 04:21:39

标签: python

在python中我们可以使用

map(lambda word: someFunction(element), data)

但是我可以访问索引以告知正在访问哪个元素吗?

map(lambda word: someFunction(word,indexOfcurrentelement), data)

3 个答案:

答案 0 :(得分:4)

如果你先列举,你可以。

map(lambda (index, word): someFunction(word, index), enumerate(data))

答案 1 :(得分:1)

如果您不想使用“lambda”,这里有一种方式:

x=[50,100,150]

index = []

for i in x:
    indexis=x.index(i)
    index = index+[indexis]

for a, b in zip(index, x):
    print (a,b)

答案 2 :(得分:0)

>>> map(lambda (i, x): [i, x], enumerate(['a', 'b', 'c']))
[[0, 'a'], [1, 'b'], [2, 'c']]

然而,当它开始变得复杂时,我个人更愿意切换到for

for i, x in enumerate(sequence):
   # do something with each 'x'
   # 'i' is the index