Python程序打印整数列表中的重复元素?
本文将展示如何从整数列表中找出重复元素。列表可以写成方括号之间用逗号分隔的值(项目)的列表。列表的一个重要特点是,列表中的项目不必是相同类型。
假设我们有以下输入列表:
[5, 10, 15, 10, 20, 25, 30, 20, 40]
输出显示重复元素:
[10, 20]
使用for循环打印整数列表中的重复元素
我们将使用for循环来显示整数列表的重复元素。我们将循环遍历并比较列表的每个元素以查找匹配项。之后,如果找到匹配项,则意味着它是重复项,并显示相同的元素。
示例
# Create a List myList = [5, 10, 15, 18, 20, 25, 30, 30, 40, 50, 50, 50] dupItems = [] uniqItems = {} # Display the List print("List = ",myList) for x in myList: if x not in uniqItems: uniqItems[x] = 1 else: if uniqItems[x] == 1: dupItems.append(x) uniqItems[x] += 1 print("Duplicate Elements = ",dupItems)
输出
List = [5, 10, 15, 18, 20, 25, 30, 30, 40, 50, 50, 50] Duplicate Elements = [30, 50]
使用Counter打印整数列表中的重复元素
我们将使用Counter来显示整数列表中的重复元素。Counter来自Collections模块。此模块实现专门的容器数据类型,提供Python通用内置容器dict、list、set和tuple的替代方案。
示例
from collections import Counter # Create a List myList = [5, 10, 15, 10, 20, 25, 30, 20, 40] # Display the List print("List = ",myList) # Get the Count of each elements in the list d = Counter(myList) # Display the Duplicate elements res = list([item for item in d if d[item]>1]) print("Duplicate Elements = ",res)
输出
List = [5, 10, 15, 10, 20, 25, 30, 20, 40] Duplicate Elements = [10, 20]
使用集合列表推导式打印整数列表中的重复元素
列表推导式的语法如下:
[expression for item in list]
现在让我们看一个例子:
示例
# Create a List myList = [5, 10, 15, 10, 20, 25, 30, 20, 40] # Display the List print("List = ",myList) # Display the duplicate elements print(list(set([a for a in myList if myList.count(a) > 1])))
输出
List = [5, 10, 15, 10, 20, 25, 30, 20, 40] [10, 20]
广告