Python 打印列表中的唯一值
列表 是Python中的内置数据结构,类似于动态大小的数组。通过将元素放在方括号中 [元素1,元素2,…] 来创建列表。列表中的元素是有索引的,索引从0开始。
列表具有以下特点:
- 列表是 可变 的,这意味着创建列表后可以添加、删除或更改其中的元素。
-
列表是有序的,因此将新元素添加到列表中不会改变现有元素的顺序。
-
列表允许输入重复元素,因为每个元素都有唯一的索引。
-
一个列表可以包含多种数据类型。
接下来,让我们看一下使用Python程序打印列表中唯一值的各种方法:
使用 set()方法 获取唯一值
在Python中,set()方法只存储其中存在的元素的单个副本。当将具有重复元素的列表转换为集合时,只存储重复值的单个副本。然后可以将集合转换回列表,以创建一个只包含唯一值的列表。
示例
以下是使用set()方法打印列表中唯一值的示例:
def unique_numbers(duplicate):
# converting list to set to store unique values
unique_numbers_set = set(duplicate)
# converting the set back to a list
unique_numbers_list = list(unique_numbers_set)
return unique_numbers_list
duplicate_list = [1, 2, 3, 4, 1, 2, 5, 6, 6, 6]
print(unique_numbers(duplicate_list))
输出
以下是上述代码的输出结果−s
[1, 2, 3, 4, 5, 6]
使用for循环和list.append()方法获取唯一值
在Python中,append()方法用于将元素添加到列表的最后一个索引位置。首先创建一个空列表,用于存储包含重复值的列表的唯一元素。
使用for循环和if条件语句判断第i个位置的元素是否存在于空列表中。如果元素不存在,将其添加到列表中。因此,只有唯一的元素存在,因为当出现重复元素时,if条件语句失败,重复元素不会被添加。
示例
以下是使用for循环和list.append()方法从列表中获取唯一值的示例:
def unique_fruits(fruit):
# create an empty list
unique_fruit = []
# for loop to traverse the list elements
for traverse in fruit:
# check if element not present in list
if traverse not in unique_fruit:
unique_fruit.append(traverse) # append the unique element
return unique_fruit
fruits = ['apple', 'orange', 'mango', 'apple', 'orange', 'mango']
print(unique_fruits(fruits))
输出
以下是上述代码的输出结果
['apple', 'orange', 'mango']
使用numpy.unique()方法获取唯一值
NumPy是一个支持多维数组对象的Python库,主要用于大型数据集的科学计算中的高级数学操作。
numpy.unique() 方法是NumPy库的内置方法,用于返回排序后的数组中的唯一值。将重复的列表转换为数组后,使用unique()方法来移除重复项,然后可以将数组转换回列表。
示例
以下是使用numpy.unique()方法从列表中获取唯一值的示例:
import numpy as np
def unique(duplicate):
# create an array from the list
array = np.array(duplicate)
# unique method returns in unique elements in sorted order
unique_elements = np.unique(array)
# convert the array to list
sorted_unique_list = list(unique_elements)
return sorted_unique_list
duplicate_list = [8, 4, 2, 4, 2, 8, 6, 6]
print(unique(duplicate_list))
输出
以下是上述代码的输出结果 –
[2, 4, 6, 8]