📜  Python – 具有最独特元素的列表

📅  最后修改于: 2022-05-13 01:55:37.418000             🧑  作者: Mango

Python – 具有最独特元素的列表

有时,在处理数据时,我们可能会遇到需要计算具有最多唯一元素的列表的问题。这可以在许多领域中应用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用列表理解 + max() + set()
上述功能的组合可以用来解决这个问题。在此,我们使用 max() 计算出现的最大元素,并使用 set() 将逻辑简化为唯一性。

# Python3 code to demonstrate 
# List with most unique elements
# using list comprehension + max() + set()
  
# Initializing lists
test_list1 = [1, 3, 4, 4, 4, 3, 3, 2, 2, 1]
test_list2 = [1, 3, 4, 6, 7]
test_list3 = [4, 5, 4, 3, 6, 7, 8]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
print("The original list 3 is : " + str(test_list3))
  
# List with most unique elements
# using list comprehension + max() + set()
res = [ele for ele in [set(test_list1), set(test_list2), set(test_list3)]
      if len(ele) == max([len(sub) for sub in [set(test_list1), set(test_list2), set(test_list3)]])][0]
  
# printing result 
print ("List with Most unique values : " + str(list(res)))
输出 :
The original list 1 is : [1, 3, 4, 4, 4, 3, 3, 2, 2, 1]
The original list 2 is : [1, 3, 4, 6, 7]
The original list 3 is : [4, 5, 4, 3, 6, 7, 8]
List with Most unique values : [3, 4, 5, 6, 7, 8]

方法#2:使用max() + set() + key
也可以使用上述功能的组合来执行此任务。在此,我们使用 max() 和关键参数 len 提取最大频率列表。

# Python3 code to demonstrate 
# List with most unique elements
# using key + max() + set()
  
# Initializing lists
test_list1 = [1, 3, 4, 4, 4, 3, 3, 2, 2, 1]
test_list2 = [1, 3, 4, 6, 7]
test_list3 = [4, 5, 4, 3, 6, 7, 8]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
print("The original list 3 is : " + str(test_list3))
  
# List with most unique elements
# using key + max() + set()
temp = [set(test_list1), set(test_list2), set(test_list3)]
res = max(temp, key = len)
  
# printing result 
print ("List with Most unique values : " + str(list(res)))
输出 :
The original list 1 is : [1, 3, 4, 4, 4, 3, 3, 2, 2, 1]
The original list 2 is : [1, 3, 4, 6, 7]
The original list 3 is : [4, 5, 4, 3, 6, 7, 8]
List with Most unique values : [3, 4, 5, 6, 7, 8]