Карта вместо цикла - PullRequest
       16

Карта вместо цикла

2 голосов
/ 07 марта 2019

У меня есть цикл for:

for i in range(len(k_poss)):
    k_poss[i][0] = ' '.join(k_poss[i][0])

Возможно ли использовать вместо этого функцию карты? Я знаю, что это может быть что-то вроде

map(lambda x: ' '.join(x), k_poss)

но как мне перейти к нужному индексу на карте?

1 Ответ

2 голосов
/ 07 марта 2019

Вы можете просто зациклить на k_poss, зацикливание на диапазоне длины объекта считается непифоническим

for k in k_poss:
     k[0] = ' '.join(k[0])

, что сделает вещи более читабельными.

Поскольку вы спросили, карта также будет работать, но на самом деле не рекомендуется .

См. Пример @ Jab

k_poss = list(map(lambda x: [' '.join(x[0])] + x[1:], iter(k_poss)))

из взятого раздела комментариев, если вы действительно хотите использовать карту, это лучше, чем попытки, которые я делал здесь ...

...