在Python中,删除列表中重复素的方法有多种。以下是几种常见的方法:
1. 使用集合(set)的特性:
python
lst = [1, 2, 3, 4, 2, 3, 4]
new_lst = list(set(lst))
print(new_lst) 输出结果:[1, 2, 3, 4]
2. 使用列表推导式:
python
my_list = [1, 2, 3, 3, 4, 5, 5, 6]
new_list = [x for i, x in enumerate(my_list) if x not in my_list[:i]]
print(new_list) 输出结果:[1, 2, 3, 4, 5, 6]
3. 使用`OrderedDict`从列表中删除重复项(保留顺序):
python
from collections import OrderedDict
mylist = ['Jacob', 'Harry', 'Mark', 'Anthony', 'Harry', 'Anthony']
resList = OrderedDict.fromkeys(mylist)
print(list(resList)) 输出结果:['Jacob', 'Harry', 'Mark', 'Anthony']
4. 使用列表理解从列表中删除重复项(保留顺序):
python
mylist = ['Jacob', 'Harry', 'Mark', 'Anthony', 'Harry', 'Anthony']
new_list = [x for i, x in enumerate(mylist) if x not in mylist[:i]]
print(new_list) 输出结果:['Jacob', 'Harry', 'Mark', 'Anthony']
5. 使用`remove`方法结合循环删除指定素(例如删除所有值为6的素):
python
l = [9, 6, 5, 6, 6, 7, 8, 9, 6, 0]
while 6 in l:
l.remove(6)
print(l) 输出结果:[9, 5, 7, 8, 9, 0]
选择合适的方法可以根据你对列表素顺序的保留需求以及是否希望改变原始列表的顺序来决定
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/71243.html