Задать вопрос
@russrage
Я

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

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

Как получить:
a = ['one', 'two', 'three', 'four', 'five']
  • Вопрос задан
  • 115 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
03 янв. 2025, в 10:40
2000 руб./за проект
03 янв. 2025, в 10:37
500000 руб./за проект
03 янв. 2025, в 10:35
45000 руб./за проект