python列表删除重复元素
时间: 2023-12-14 12:04:52 浏览: 120
可以使用 Python 中的 set() 函数去除列表中的重复元素,然后再将其转换回列表:
```python
my_list = [1, 2, 3, 3, 4, 5, 5, 6]
my_list = list(set(my_list))
print(my_list) # 输出 [1, 2, 3, 4, 5, 6]
```
另一种方法是使用列表推导式:
```python
my_list = [1, 2, 3, 3, 4, 5, 5, 6]
my_list = [i for n, i in enumerate(my_list) if i not in my_list[:n]]
print(my_list) # 输出 [1, 2, 3, 4, 5, 6]
```
以上两种方法都能够删除列表中的重复元素,但是使用 set() 函数的方法可能比列表推导式更快一些。
相关问题
python 列表删除重复元素保留先出现的
可以使用列表推导式和if条件判断语句来实现,例如:
```
list = [1, 2, 3, 2, 1, 4, 5, 4]
new_list = []
[new_list.append(i) for i in list if i not in new_list]
print(new_list)
```
输出结果为:
```
[1, 2, 3, 4, 5]
```
这段代码可以删除列表中的重复元素并保留先出现的元素。
python删除列表重复元素_Python去除列表list重复或相似元素的方法
在Python中,可以使用set()函数来去除列表中重复的元素。具体做法如下:
```python
my_list = [1, 2, 3, 2, 4, 3]
new_list = list(set(my_list))
print(new_list)
```
输出结果:
```
[1, 2, 3, 4]
```
如果想要去除相似的元素,可以使用difflib库中的SequenceMatcher()函数来实现。具体做法如下:
```python
import difflib
my_list = ['apple', 'banana', 'appel', 'orange', 'grape']
new_list = []
for i in range(len(my_list)):
is_similar = False
for j in range(i+1, len(my_list)):
similarity = difflib.SequenceMatcher(None, my_list[i], my_list[j]).ratio()
if similarity > 0.8:
is_similar = True
break
if not is_similar:
new_list.append(my_list[i])
print(new_list)
```
输出结果:
```
['apple', 'orange', 'grape']
```
其中,0.8是一个相似度的阈值,可以根据具体情况进行调整。
阅读全文