gpt4 book ai didi

python - 无法使用这些 python 列表打印所需的输出

转载 作者:太空宇宙 更新时间:2023-11-03 21:01:35 24 4
gpt4 key购买 nike

我希望我的源代码输出如下:

Lists: 1 3 4 2 1 2 1 3; 4 4 2 4 3 2 4 4 3 1 3    
[2, 3]

Lists : 1 1 2 3 4 5; 2 3 4 5 6
[]

Lists : ;
[]

Lists:

我想编写一个函数,它接受两个列表并返回在两个列表中多次出现的所有元素,但最终我在这些列表中找到了公共(public)元素。我的返回列表应该按升序排列,没有重复项。

def occur_multiple(a, b):
a_set = set(a)
b_set = set(b)
# check length
if len(a_set.intersection(b_set)) > 0:
return (a_set.intersection(b_set))
else:
return ("no common elements")

while True:
original_string = input("Lists: ")
if not original_string:
exit()
first_split = original_string.split(';')
first_list, second_list = [elem.split(' ') for elem in first_split]
first_list.sort()
second_list.sort()
print(occur_multiple(first_list, second_list))

最佳答案

列表的计数函数可能对您的任务有帮助。我已经修改了您的代码,以便它遍历交集集中的元素并检查两个列表中的计数是否大于 1。

def occur_multiple(a, b):    
a_set = set(a)
b_set = set(b)
# check length
ans_set = set()
c = a_set.intersection(b_set)
if len(c) > 0:
for i in c:
if a.count(i) > 1 and b.count(i) > 1:
ans_set.add(i)
return (sorted(list(ans_set)))
else:
return ("no common elements")

此外,您可能希望将列表输入更改为整数。为了改进,您可能希望将每个元素的计数存储在字典中,而不是多次读取列表。

关于python - 无法使用这些 python 列表打印所需的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55671762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com