@IrideSharks

Как написать функцию, которая бы создала list с элементами из в двух других lists чьи индексы совпадают?

Например из lists a[1,2,3,10,5] и b[1,2,5,10,8] получить с[1,2,10]
  • Вопрос задан
  • 2448 просмотров
Решения вопроса 1
@throughtheether
human after all
>>> a = [1,2,3,10,5]
>>> b = [1,2,5,10,8]
>>> c=[u for (u,v) in zip(a,b) if u==v]
>>> c
[1, 2, 10]

В случае больших списков можно использовать izip из модуля itertools.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
RgmKat
@RgmKat
=^_^=
def get_strange_list(list1, list2):
    result_list = []
    for num in range(min(len(list1), len(list2))):
        if list1[num] == list2[num]:
            result_list.append(list1[num])
    return result_list


list1 = [1,2,3,10,5]
list2 = [1,2,5,10,8]

print(get_strange_list(list1, list2))

-> [1, 2, 10]

простой последовательный перебор списков и сравнение значений
Ответ написан
Комментировать
abukin
@abukin
Программирую на Python
Конструкция предложений такая, если нужно оберните в функцию:

a = [1,2,3,10,5]
b = [1,2,5,10,8]

zip_list = filter(lambda x: x[0] == x[1], zip(a, b))
first_list, second_list = zip(*zip_list)
repeat_list = list(first_list)
Ответ написан
Комментировать
@Gabriel_vs
I'm a Scientist in Data Analysis / programmar.
Ваша задача, это пересечение множеств:
a = [1,2,3,10,5]
b = [1,2,5,10,8]
result = list( set(a) & set(b) )
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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