列表去重的内置函数
时间: 2023-07-01 14:08:34 浏览: 55
在Python中,可以使用以下内置函数来对列表进行去重:
1. set()函数:将列表转换为集合,由于集合只包含不重复的元素,所以可以去除列表中的重复元素。但是,由于集合是无序的,所以去重后的结果也是无序的。
2. sorted()函数:将列表进行排序,然后使用遍历和比较的方式去除重复元素。因为排序后相同的元素会排在一起,所以比较容易去重。
3. list comprehension(列表推导式):使用列表推导式的方式,遍历原始列表,并且只添加其中未出现过的元素到新的列表中。
例如,假设我们有一个包含重复元素的列表a,可以使用以下方法进行去重:
1. set()函数:
```
a = [1, 2, 2, 3, 3, 4]
b = list(set(a))
print(b) # [1, 2, 3, 4]
```
2. sorted()函数:
```
a = [1, 2, 2, 3, 3, 4]
b = []
for i in sorted(a):
if i not in b:
b.append(i)
print(b) # [1, 2, 3, 4]
```
3. list comprehension:
```
a = [1, 2, 2, 3, 3, 4]
b = []
[b.append(i) for i in a if i not in b]
print(b) # [1, 2, 3, 4]
```
相关问题
多维列表去重的内置函数
Python内置的set()函数可以用来对多维列表进行去重操作。需要注意的是,set()函数只能处理可哈希(hashable)的元素,因此需要将列表转换为元组后再进行去重。下面是一个示例代码:
```python
lst = [[1, 2], [2, 3], [1, 2]]
result = list(set(tuple(sublst) for sublst in lst))
print(result)
```
输出结果为:
```
[(2, 3), (1, 2)]
```
这里先使用了一个列表推导式将原始列表中的子列表转换为元组,然后再将元组放入set()函数中进行去重操作。最后再将去重后的元组列表转换为原始的多维列表格式。
python列表去重排序
如果你想在Python中对列表进行选择性的去重和排序,可以使用列表推导式和内置函数来实现。下面是一个示例代码:
```python
my_list = [3, 1, 2, 3, 4, 1, 2]
sorted_list = sorted(list(set([x for x in my_list if my_list.count(x) == 1])))
print(sorted_list)
```
这里的列表推导式`[x for x in my_list if my_list.count(x) == 1]`会遍历原始列表`my_list`中的每个元素,并仅保留出现次数为1的元素。然后,我们将得到的列表转换为集合(set),再使用`sorted()`函数对集合进行排序,最后将排序后的集合转换回列表。
输出结果为: