python: могу ли я получить доступ к индексу элемента при использовании map ()?

1

В python мы можем использовать

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

но могу ли я получить доступ к индексу, чтобы указать, к какому элементу обращаются?

map(lambda word: someFunction(word,indexOfcurrentelement), data)
Теги:

3 ответа

4
Лучший ответ

Вы можете, если вы сначала перечислите.

map(lambda (index, word): someFunction(word, index), enumerate(data))
  • 0
    спасибо, что мне нужно
  • 0
    Это не будет работать с Python 3.x.
1

Если вы не хотите использовать "лямбда", это один из способов:

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)
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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню