python - 如何根据集合中匹配的元素数量增加变量
问题描述
我刚刚开始使用 python 3。
问题:只有当两个集合之间的元素数量匹配时,我才想增加变量。
例如:如果两个元素在两个集合之间匹配,那么我想将变量增加 2。如果三个元素匹配,则增加三,依此类推。
这是我编写的代码。我见过一些类似的问题,但他们没有帮助我。
我的代码:
mainarr= []
subarr1 =[]
subarr2 =[]
myhappiness = 0
mainarray = int(input("Enter number of elements"))
subarray = int(input("Enter no of elements in subarray"))
for i in range(0,mainarray):
ele = int(input())
mainarr.append(ele)
print("Enter the first set")
for i in range(0,subarray):
ele1=int(input())
subarr1.append(ele1)
print("Enter the second set")
for i in range(0,subarray):
ele2=int(input())
subarr2.append(ele2)
mainset = set(mainarr)
set1 =set(subarr1)
set2 =set(subarr2)
print("Main set is",mainset)
print("The second set is" , set1)
print("The third set is" , set2)
matches = set(set1).intersection(mainset)
print(len(matches))
这里可以参考HackerRank的这个问题。我正在尝试解决这个问题
编辑:我的输出是
Enter number of elements5
Enter no of elements in subarray2
45
78
95
25
12
Enter the first set
45
78
Enter the second set
23
24
Main set is {12, 45, 78, 25, 95}
The second set is {45, 78}
The third set is {24, 23}
2
解决方案
trash=input()
list_1=(input().split())
set_1=set(input().split())
set_2=set(input().split())
counter=0
for x in list_1:
if x in set_1:
counter+=1
elif x in set_2:
counter-=1
print(counter)
这是你要找的吗?
推荐阅读
- python - Pygame 矩形从左到右移动
- reactjs - 如何在 Gatsby 中将内容文本输出为 HTML 而不是字符串?
- c# - 在字符串中查找 hrefs 值
- javascript - 可以从(非常)大列表中删除屏幕外 dom 元素以节省 CPU?
- c - 识别数组的最小唯一元素
- excel - 使用 Excel / VBA 解析主机名的 IP 地址
- cmake - 如何在 Ubuntu 上为 Win32 交叉编译 Clang?
- xv6 - 这段代码在 xv6 entrypgdir 中是什么意思?
- python - Discord bot 在将命令移动到 cog 后不响应命令
- java - Twitter4J 转发一条消息