#python #python-3.x
#python #python-3.x
Вопрос:
list1 = [input("Enter the values for the first list: ")]
list2 = [input("Enter the values for the second list: ")]
print(list1)
print(list2)
list3 = []
for element in list1:
if element in list2:
list3 = list2.append(element)
print(list3)
Это то, что я уже пробовал. но я получаю пустой список как list3!
Комментарии:
1. Используйте
set
.intersect
из двух списков является общим! docs.python.org/3/library /…2. Если вы просто используете
[input()]
, ваш список будет состоять из одной строки, что, вероятно, не то, что вы хотите.
Ответ №1:
list1 = [input("Enter the values for the first list: ")]
list2 = [input("Enter the values for the second list: ")]
list1 и list2 будут списком строк. следовательно, вы получаете list3 пустым. PFB-код и o / p:
list1 = [input("Enter the values for the first list: ")]
list2 = [input("Enter the values for the second list: ")]
print(list1)
print(list2)
list3 = []
for element in list1:
print(type(element))
if element in list2:
list3.append(element)
print(list3)
вывод:
Enter the values for the first list: 1 2 3 4 5
Enter the values for the second list: 2 3 4 5 6
['1 2 3 4 5']
['2 3 4 5 6']
<class 'str'>
[]
чтобы добавить правильный путь. Пожалуйста, смотрите Ниже, например. для получения list1 и list2:
# list1 = [input("Enter the values for the first list: ")]
# list2 = [input("Enter the values for the second list: ")]
list1 = [int(item) for item in input("Enter the 1st list items : ").split()]
list2 = [int(item) for item in input("Enter the 2nd list items : ").split()]
print('1st list: ',list1)
print('2nd list: ',list2)
list3 = []
for element in list1:
if element in list2:
list3.append(element)
print('common: ', list3)
вывод:
Enter the 1st list items : 1 2 3 4 5
Enter the 2nd list items : 3 4 5 6 7
1st list: [1, 2, 3, 4, 5]
2nd list: [3, 4, 5, 6, 7]
common: [3, 4, 5]
Комментарии:
1. Эта функция split() была пустой. поэтому мне пришлось использовать разделитель внутри этого, и он работал отлично. Спасибо за помощь, приятель.
2. @Python_beginner я ввел ввод в качестве разделителя пробелов, поэтому для метода разделения разделителем по умолчанию является любой пробел. если вы вводите какой-либо другой разделитель во входных данных, вы можете указать разделитель. если это решит ваш вопрос, вы можете принять это как ответ и проголосовать, пожалуйста 🙂
Ответ №2:
Вы не можете использовать [input('Enter numbers: ')]
для получения чисел для списка. Это создаст список, содержащий входную строку. Что вам действительно нужно сделать, это сначала ввести входные данные для чисел в переменной, скажем list1_inp
, а затем разделить list1_inp
на основе использования пробелов nums = list1_inp.split(' ')
. Теперь вы можете перебирать свой список, проверяя наличие общих элементов.
list1_inp = input('Enter the elements separated by spaces : ')
nums = list1_inp.split()
list2_inp = input('Enter the elements separated by spaces : ')
nums2 = list2_inp.split()
temp = nums2
final = []
for elem in nums:
if elem in temp:
final.append(elem)
temp.remove(elem)
print(final)
Ответ №3:
mylist1 = [1,2,3,4,5]
mylist2 = [2,3,4,5,6] # let these be the two lists
def func():
mylist3 = [] # This is the list where the common numbers append
for x in mylist1:
for y in mylist2:
if x==y:
mylist3.append(x)
else:
pass
return mylist3