【发布时间】:2021-12-12 05:08:19
【问题描述】:
我是 python 新手,我只是想计算重复元素的数量。我的代码如下所示:
n=int(input("Enter the number of products to be stored in a list : "))
list1=[]
for i in range(n):
items=int(input("value for product " + str(i+1) + " : "))
list1.append(items)
dup=[]
for a in list1:
if list1.count(a)>1:
dup.append(a)
print("Count of duplicate elements in the list: ",dup)
输出:
Enter the number of products in a list : 5
value for product 1 : 4
value for product 2 : 4
value for product 3 : 4
value for product 4 : 1
value for product 5 : 5
Count of duplicate elements in the list: [4, 4, 4]
答案应该是 1,因为它只是数字 4 是重复值,但我得到了上面的输出。有人可以请教吗?
【问题讨论】:
-
您的代码有很多地方需要改进,但只是一个快速修复,您可以在上次打印时使用
len(set(dup))代替dup。 -
您能否详细说明为什么当您实际上是
print处理列表的内容时,您希望此代码会导致1?printing 任何列表的内容何时会产生一个整数?您是否尝试过修改逻辑以仅将元素添加到dup(如果它们尚不存在)?如果您将您在此处看到的问题分解为较小的需求,那么它们都是以前在这里被问过很多次的问题。您能否总结一下您所做的研究,并解释为什么不符合您的要求? How to Ask
标签: python duplicates