有没有办法检查列表中的重复项?
Is there a way to check for duplicates in a list?
我需要创建一个程序,其中一项任务是让用户在一周中的每一天(周一至周五)输入 5 个数字(整数)。对于这 5 个数字,我需要弄清楚用户是否输入了任何重复项,并使用包含字符串和整数的单个列表显示哪两天是重复项,最后显示它们。我是编程新手,非常感谢您的帮助!
使用 python 3.x
谢谢!
您可以使用字典来记录每个数字的天数。请参阅以下示例:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
# get numbers
numbers = dict()
for day in days:
n = input(f'enter number for day {day}: ')
if n in numbers:
numbers[n].append(day)
else:
numbers[n] = [day]
# find duplicates
for n, ds in numbers.items():
if len(ds) > 1:
print(f'duplicate number {n} for days', *ds)
这个带有收集模块:) 大列表更好。 ……
from collections import Counter
z = ['Mo', 'Mo', 'Tue', 'w', 2, 3, 3 ]
T= Counter(z)
for element in z:
if T[element]>1:
print ( "dup:" ,element, "occ:" ,T[element])
以下代码检查列表中的重复项并 return 重复项。
def checkDuplicate(lst):
duplicateList=set()
for i,x in enumerate(lst,start=1):
for y in lst[i:]:
if x==y:
duplicateList.add(x)
print(duplicateList)
return duplicateList
if __name__ == "__main__":
lst=[1,2,2,4,4]
result=checkDuplicate(lst)
days={1:'Mon', 2:'Tue', 3:'Wed', 4:'Thu', 5:'Fri'}
for v in result:
print(days[v])
如果你运行上面的代码你会得到结果(在这个列表的例子中):
{2, 4}
Tue
Thu
我需要创建一个程序,其中一项任务是让用户在一周中的每一天(周一至周五)输入 5 个数字(整数)。对于这 5 个数字,我需要弄清楚用户是否输入了任何重复项,并使用包含字符串和整数的单个列表显示哪两天是重复项,最后显示它们。我是编程新手,非常感谢您的帮助!
使用 python 3.x
谢谢!
您可以使用字典来记录每个数字的天数。请参阅以下示例:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
# get numbers
numbers = dict()
for day in days:
n = input(f'enter number for day {day}: ')
if n in numbers:
numbers[n].append(day)
else:
numbers[n] = [day]
# find duplicates
for n, ds in numbers.items():
if len(ds) > 1:
print(f'duplicate number {n} for days', *ds)
这个带有收集模块:) 大列表更好。 ……
from collections import Counter
z = ['Mo', 'Mo', 'Tue', 'w', 2, 3, 3 ]
T= Counter(z)
for element in z:
if T[element]>1:
print ( "dup:" ,element, "occ:" ,T[element])
以下代码检查列表中的重复项并 return 重复项。
def checkDuplicate(lst):
duplicateList=set()
for i,x in enumerate(lst,start=1):
for y in lst[i:]:
if x==y:
duplicateList.add(x)
print(duplicateList)
return duplicateList
if __name__ == "__main__":
lst=[1,2,2,4,4]
result=checkDuplicate(lst)
days={1:'Mon', 2:'Tue', 3:'Wed', 4:'Thu', 5:'Fri'}
for v in result:
print(days[v])
如果你运行上面的代码你会得到结果(在这个列表的例子中):
{2, 4}
Tue
Thu