`
woshizn
  • 浏览: 209696 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

python轻松去除 list 重复元素

阅读更多
我的github账号:https://github.com/hot13399

比较容易记忆的是用内置的set
l1 = ['b','c','d','b','c','a','a']  
l2 = list(set(l1))  
print l2  


还有一种据说速度更快的,没测试过两者的速度差别
l1 = ['b','c','d','b','c','a','a']  
l2 = {}.fromkeys(l1).keys()  
print l2  


这两种都有个缺点,祛除重复元素后排序变了:
['a', 'c', 'b', 'd'] 

如果想要保持他们原来的排序: 

用list类的sort方法
l1 = ['b','c','d','b','c','a','a']  
l2 = list(set(l1))  
l2.sort(key=l1.index)  
print l2  

也可以这样写 
l1 = ['b','c','d','b','c','a','a'] 
l2 = sorted(set(l1),key=l1.index) 
print l2

也可以用遍历
l1 = ['b','c','d','b','c','a','a']  
l2 = []  
for i in l1:  
    if not i in l2:  
        l2.append(i)  
print l2


上面的代码也可以这样写
l1 = ['b','c','d','b','c','a','a']  
l2 = []  
[l2.append(i) for i in l1 if not i in l2]  
print l2


这样就可以保证排序不变了: 
['b', 'c', 'd', 'a']
分享到:
评论

相关推荐

    python去重,一个由dict组成的list的去重示例

    Pandas提供了一个非常方便的方法来处理DataFrame对象,可以轻松地去除重复项。 ```python import pandas as pd from operator import itemgetter def distinct(items): questions = map(itemgetter('question'), ...

    Python点名器

    Python的字符串方法如`strip()`、`replace()`等可以轻松完成这些任务。例如: ```python cleaned_content = content.replace('\n', '').strip() names_list = cleaned_content.split(',') ``` 这段代码将把文本内容...

    Python数据处理.zip

    列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)是Python中最基本的数据结构。列表是可变的有序序列,适合存储同类型或不同类型的元素;元组与列表类似,但一旦创建就不能修改,常用于需要保持数据不变性的...

    Python代码源码-实操案例-框架案例-如何实现字符串与列表等数据的去重.zip

    DataFrame的`drop_duplicates()`函数可以轻松去除重复行: ```python import pandas as pd df = pd.DataFrame(list_with_duplicates, columns=['Values']) df_unique = df.drop_duplicates() ``` 这将创建一...

    Python你需要知道的20个常用的Python技巧

    temp_set = set(my_string) # 转换为集合去除重复元素 new_string = ''.join(temp_set) # 将集合转回字符串 print(new_string) # 输出可能为:cdaev (注意:集合无序) ``` 由于集合不允许有重复元素,因此该方法能够...

    Python3文档(中文版).pdf

    集合(Set)是一种无序的不重复元素集,适合用于进行成员关系测试和去除重复元素。字典(Dictionary)是一种映射类型,它包含键值对,并且键必须是不可变的。 模块是Python程序架构的一个核心概念,它允许程序将...

    python面试题

    可以使用集合(set)来轻松去除重复元素: ```python def remove_duplicates(lst): return list(set(lst)) ``` #### 39. Python里面如何拷贝一个对象? - **浅拷贝**: 使用`copy.copy()`。 - **深拷贝**: 使用`...

    20 条非常实用的 Python 代码

    使用集合可以轻松地去除列表中的重复项。 ```python lst = [1, 2, 2, 3, 4, 4, 5] unique_lst = list(set(lst)) print(unique_lst) # 输出:[1, 2, 3, 4, 5] ``` #### 14. 检查字符串是否为回文 回文是指正反读都...

    Python Cookbook

    8. **2.8 从列表中随机选择不重复的元素**:使用`random.sample`函数从列表中随机选取不重复的元素。 9. **2.9 对序列执行频繁的成员资格测试**:讨论了如何优化成员资格测试操作,例如使用集合。 10. **2.10 在...

    python 集合 并集、交集 Series list set 转换的实例

    在上述代码中,通过将列表转换为集合去除重复项,然后再转换回列表,我们可以得到一个没有重复元素的列表。需要注意的是,集合是无序的,因此转换回列表时,元素的顺序可能与原始列表不同。 转换到set之后,我们就...

    《Python Cookbook》第三版中文v1.0.21

    要去除列表中的重复项并保持原始顺序,可以使用列表推导式和`if not in`语句,如`new_list = [x for i, x in enumerate(lst) if x not in lst[:i]]`。 11. **命名切片**: Python不直接支持命名切片,但可以创建...

    利用python中集合的唯一性实现去重

    ### 利用Python中集合的唯一性实现去重 在Python编程中,集合(Set...利用集合的唯一性,可以轻松地去除列表中的重复项,提高数据处理效率。无论是对于初学者还是有经验的开发者来说,掌握这一技巧都是非常有帮助的。

    30个常用python实现.pdf

    14. 合并去重:将多个列表合并,并去除重复的元素,可以使用集合来实现。 15. 随机生成验证码的两种方式:可以使用random模块来生成随机验证码,或利用其他库生成更加复杂的图形验证码。 16. 计算平方根:使用math...

    开发+python+基础+进阶+实例

    58. 列表查重:`set()`可以快速去除列表中的重复元素。 59. 列表反转:`list.reverse()`方法可以翻转列表中的元素顺序。 60. 浮点数等差数列:通过循环和数学公式可以生成浮点数等差序列。 61. 按条件分组:`...

    18个Python脚本可加速你的编码速度(提示和技巧)

    可以通过将字符串转化为集合来查找唯一元素,因为集合内的元素都是不重复的。例如: ```python my_string = "aavvccccddddeee" temp_set = set(my_string) new_string = ''.join(temp_set) print(new_string) ...

    Python 自由定制表格的实现示例

    在Python编程中,Pandas库是一个强大的数据处理和分析工具,它可以轻松地处理和操作类似表格的数据,并且提供了丰富的功能,使得开发者不再依赖于Excel进行数据处理。在本示例中,我们将探讨如何使用Pandas和其他...

    python基础知识小结之集合

    例如,给定一个包含重复元素的列表,可以利用集合的特点轻松去除这些重复项: ```python lst1 = [1, 1, 2, 2, 3, 4, 2] unique_lst = list(set(lst1)) ``` #### 四、集合的常用操作 集合支持多种基本的操作,包括...

    pandas 实现将重复表格去重,并重新转换为表格的方法

    `set`是一个不包含重复元素的集合,它会自动去除重复的值。但是,由于`set`无法保持数据原有的顺序,所以我们需要先将其转换为`set`,然后转换回列表: ```python train = set(train) train = list(train) ``` ...

    闫相宇实验报告6.docx

    ### Python 语言程序设计实验报告知识点总结 #### 实验背景与目标 本次实验的主要目的是让学生进一步熟悉并掌握Python中字符串的操作方法。通过一系列的具体实践,加深对字符串处理的理解,并能够灵活运用各种内置...

    2021-2022计算机二级等级考试试题及答案No.14543.docx

    在这个例子中,首先通过`set()`函数去除重复项,再通过`list()`转换回列表,最后使用`sort()`方法按字母顺序排序。因此,输出结果为`['j', 's', 'y', 'z']`。 #### 面向对象编程 27. **类的继承性**:面向对象编程...

Global site tag (gtag.js) - Google Analytics