• Предмет: Информатика
  • Автор: prohminerh07
  • Вопрос задан 3 года назад

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

Ответы

Ответ дал: KnowsUser1
4

Ответ:

# 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 = ' ')

Приложения:
Ответ дал: tankarmiya
0

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)))


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