@russrage
Я

Какие варианты слияния списков есть?

Есть два списка:
a = ['one', 'two', None, 'four', None]
b = [None, None, 'three', None, 'five']

Как получить:
a = ['one', 'two', 'three', 'four', 'five']
  • Вопрос задан
  • 115 просмотров
Решения вопроса 3
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
a = [x or y for x, y in zip(a, b)]
Ответ написан
Комментировать
0xD34F
@0xD34F
[ n or b[i] for i, n in enumerate(a) ]
Ответ написан
from itertools import zip_longest

a = ['one', 'two', None, 'four', None]
b = [None, None, 'three', None, 'five']

# если списки 100% одинаковой длины можно просто zip использовать
c = [x or y for x, y in zip_longest(a, b)]
print(c)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы