Python 如何计算集合1和集合2中出现的数字量

Python 如何计算集合1和集合2中出现的数字量,python,set,Python,Set,嗨,我试图找到在用户的两个输入中出现的数字量 例如: s1=设置输入 s2=设置输入 setlist=s1.intersections2 setlist.discard 打印列表 当用户输入: s1:1 2 6 8 4 5 7 s2:102348 此代码将给出答案3,但是,两组中都有2个数字 问题是,它将10单独视为1和0,而不是仅10 有人能帮我写正确的代码吗 谢谢大家! 集合中的元素必须用逗号分隔。因此,它应该是: s1 = {1, 2, 6, 4, 5, 7} s2 = {10, 2, 3

嗨,我试图找到在用户的两个输入中出现的数字量

例如:

s1=设置输入 s2=设置输入 setlist=s1.intersections2 setlist.discard 打印列表 当用户输入: s1:1 2 6 8 4 5 7 s2:102348

此代码将给出答案3,但是,两组中都有2个数字

问题是,它将10单独视为1和0,而不是仅10

有人能帮我写正确的代码吗


谢谢大家!

集合中的元素必须用逗号分隔。因此,它应该是:

s1 = {1, 2, 6, 4, 5, 7}
s2 = {10, 2, 3, 4, 8}
然后一切都应该正常

s1={1,2,6,4,5,7} s2={10,2,3,4,8} setlist=s1.intersections2 打印列表 您的第一行:

s1 = set(input())
通过对输入返回的字符串进行迭代来创建一个集合,即对其字符进行迭代:

>>> set('1 2 34')
{'3', '2', '1', '4', ' '}
您希望通过拆分字符串并将部分转换为整数,首先从输入构建数字列表:

i1 = input('Enter first list of numbers separated by spaces: ')
numbers1 = [int(num) for num in i1.split()]
s1 = set(numbers1)
或直接:

s1 = set(int(num) for num in i1.split())

一切都会好起来的。

因为当你把字符串当作一个可数时,如果你得到一系列字符。 如果您想要字符串的结构化迭代,您应该手动执行。 您的输入由单个空格分隔,因此您可以简单地将其拆分:

input.split 因此,请针对您的情况回答:

s1=设置输入。拆分“” s2=setinput.split“” setlist=s1.intersections2 setlist.discard 打印列表 输入和输出:

1 2 6 8 4 5 7
10 2 3 4 8
3

三个值2、4、8是重复的。

如果您修复了语法错误,使其成为有效集,则可以正常工作。此外,您不需要setlist.discard。您的代码不会编译。s1={1 2 6 4 5 7}无效。听起来你好像得到了结果。我想这是一个打字错误。请将其格式化为代码以便于阅读。问题是他将一个字符串作为iterable传递给集合。为了得到整数集,他需要set[inti for i in s2.split],而这段代码可能会解决这个问题,如何以及为什么解决这个问题会真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。