(Python)判断两个数组是否包含相同元素

727 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

【问题描述】 编写一个函数 same_set(a,b,len), 该函数检查相等长度的两个数组是否包含相同的元素,若包含相同的元素, 则返回1,否则返回0,其中参数len是数组a与与数组b的元素个数。 不考虑元素的顺序,如果元素重复,重复次数也相同。在main函数中读入两个整数数组,测试该函数。

【输入形式】 从键盘输入两个数组,第一行输入数组元素个数,第二行输入第一个数组的各个值, 第三行输入第二个数组的各个值。

【输出形式】 如果两个数组包含的元素相同,打印1,否则,打印0。

【样例输入】

7

11#16#9#7#4#1#11

11#11#7#9#16#4#1 ("#"代表空格)

【样例输出】

1

【样例说明】 两个数组中均包含11,4,7,9,1,16,而且11的重复次数有两次。

实现代码:

 n = int(input())
 list1 = (input().split())
 list2 = (input().split())
 list1 = [int(x) for x in list1]
 list2 = [int(x) for x in list2]
 ​
 ​
 def same_set(a, b, len):
     a.sort()
     b.sort()
     for i in range(0, len):
         if a[i] != b[i]:
             return 0
     else:
         return 1
 ​
 ​
 print(same_set(list1, list2, len(list1)))
 ​

运行结果:

在这里插入图片描述