Введите два списка с клавиатуры. Выведите ** экран только те элементы, которые...

+401 голосов
830k просмотров

Введите два списка с клавиатуры. Выведите на экран только те элементы, которые встречаются в обоих списках. python ПОМОГИТЕ!


Информатика | 830k просмотров
Дано ответов: 2
+186 голосов

Ответ:

# Python 3.8.3

l1 = list(map(int, input().split()))

l2 = list(map(int, input().split()))

 for item in l1:

    if item in l2:

       print(item, end = ' ')

(1.6k баллов)
+125 голосов

first_list = []

second_list = []

coincidences_list = []

first_list_len = input('Длина первого списка: ')

for i in range(1, int(first_list_len)+1):

   input_text = input('{} элемент певого списка: '.format(i))

   first_list.append(input_text)

second_list_len = input('\nДлина второго списка: ')

for i in range(1, int(second_list_len)+1):

   input_text = input('{} элемент певого списка: '.format(i))

   second_list.append(input_text)

for i in first_list:

   if i in second_list and i not in coincidences_list:

       coincidences_list.append(i)

print('\nПовторяющиеся значения: {}'.format(' '.join(coincidences_list)))

(13 баллов)
+124

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

+88

Иначе, будет понятно, что решал другой человек

+38

Не спорю, решение достаточно длинное, но, я так понял, что решение необходимо для 5-9 класса

+190

Слишком много букв. 1 - оба списка вы считываете одинаковым способом и тратите на это больше одной строки. Данную логику следовало бы вынести в отдельную функцию. 2 - нет необходимости хранить повторяющиеся элементы, их просят просто выводить в консоль. Во избежание повторений можно перебирать не изначальные листы, а сначала привести их к типу set(), что бы работать только с уникальными значениями