尝试比较lis时获取“TypeError:'int'object is not iterable”

2024-09-29 20:25:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道我在下面的代码中做错了什么,我基本上是尝试获取一个用户输入的两个列表,并使用union从这两个用户列表中创建一个新的列表。一旦我到达工会的那一部分,我就得到了错误。在

我的代码:

import random
import sys
import os

clear = lambda: os.system('cls')

x = 1

listA = []
listB = []
commlist = []

clear()
ammA = int(raw_input("How many elements do you want for your first     set?"))


clear()
while ammA > 0:
    listA.append(int(raw_input("Element %i :" %(x))))
    x = x+1
    ammA = ammA-1


clear()
ammB = int(raw_input("How many elements do you want for your second     set?"))

x = 1

clear()
while ammB > 0:
    listB.append(int(raw_input("Element %i :" %(x))))
    x = x+1
    ammB = ammB-1

commlist = list(set(ammA).union(set(ammB)))

clear()
print("Your two list are:")
print(listA)
print(listB)
print("The common elements are:")
print(commlist)

错误是:

^{pr2}$

Tags: 代码import列表inputrawelementsintprint
1条回答
网友
1楼 · 发布于 2024-09-29 20:25:56

问题是,您试图从用于确定要放入列表中的元素的整数变量创建集合,而不是从列表本身创建集合。试试这个:

>>> listA = [1,2,3,4,5]
>>> listB = [1,3,5,7,9]
>>> set(listA).union(set(listB))
{1, 2, 3, 4, 5, 7, 9}

但是请注意,对于公共元素,您可能希望使用intersection而不是{}。在

^{pr2}$

相关问题 更多 >

    热门问题