@tekleworm

Как сравнить поиндексово значения двух списков?

Есть два списка, например
list 1 = [23, 56, 78, 69]
list2 = [11, 89, 33, 45]


Как правильно сравнить попарно элементы двух списков? Например, берем по 0 индексу элементы первого и второго списка. Это 23 и 11. Сравниваем их на то, который эл. меньше и выносим в отдельный список. Потом по индексу 1 (56, 89), тоже выносим в отдельный список. Так что бы у нас появился третий список с значениями
list3 = [11, 56,33,45]
  • Вопрос задан
  • 12456 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
result = [min(p) for p in zip(list1, list2)]
или
result = list(map(min, zip(l1, l2)))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@don_key
Сергей, ваш ответ верен, но вы действительно думаете, что человеку с начальным уровнем знаний нужен именно ОПТИМАЛЬНЫЙ по объему кода и используемым функциям ответ? Мне кажется, что он сейчас на уровне изучения базы - циклы, перебор и тп. И правильнее будет такой вариант:
list1 = [23, 56, 78, 69]
list2 = [11, 89, 33, 45]
list3 = [] # создаем заранее пустой список для результата
for i in range(len(list1)): #перебираем элементы списка (в пределах длины первого списка)
    if list1[i] < list2[i]: #сравниваем элементы первого списка с элементами второго списка
        list3.append(list1[i]) #добавляем в пустой список элемент из первого, если он меньше
    else:
        list3.append(list2[i]) #иначе - добавляем элемент из второго списка
print (list3) #выводим итоговый список
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы