精华内容
下载资源
问答
  • python中几种去重的方法
    千次阅读
    2022-03-26 17:46:39

    1、集合去重

    利用set()函数对一个元素集合去重

    例如:

    a = [1,2,3,1,2,4,6]

    b = list(set(a))

    >>>[1, 2, 3, 4, 6]

    2、字典去重

    = {}  # 字典

    # 利用字典去重

    dic = b.fromkeys(a)  # {1: None, 2: None, 3: None, 4: None, 6: None}

    = list(dic)  # <==> list(dic.keys())

    关于fromkeys在python中的定义是:

    def fromkeys(*args, **kwargs): # real signature unknown
        """ Create a new dictionary with keys from iterable and values set to value. """
        pass

    3、列表推导去重

    a.sort()

    b = []

    i = 0

    while i < len(a):

    if a[i] not in b:

    b.append(a[i])

    else:

    i += 1

    >>> [1, 2, 3, 4, 6]

    声明:如有错误或者不足之处欢迎指正和补充

    更多相关内容
  • 一看就明白的函数使用以及使用时需要注意的点: #set用于去重去重之后的a属于class set类型 a=set([-4,-2,0,4,2,2]) ...#注意:sort函数只能对list类型进行操作 b=list(a) b.sort() print(b) 输出: ...

    一看就明白的函数使用以及使用时需要注意的点:

    #set用于去重,去重之后的a属于class set类型
    a=set([-4,-2,0,4,2,2]) 
    print(a)
    
    print('**********************')
    
    #先把set类型转为list,再用sort进行排序
    #注意:sort函数只能对list类型进行操作
    b=list(a)
    b.sort()
    print(b)
    

    输出:
    在这里插入图片描述

    展开全文
  • 去重(均保持了原来的顺序) ① orgList = [1,5] formatList = list(set(orgList)) formatList.sort(key=orgList.index) print (formatList) Sort 默认reverse=False 升序 ① x = ['mmm', 'mm', 'mm'...

    去重(均保持了原来的顺序)

    orgList = [1,5]

    formatList = list(set(orgList))

    formatList.sort(key=orgList.index)

    print (formatList)

    Sort    

    默认reverse=False  升序

    x = ['mmm', 'mm', 'mm', 'm' ]
    x.sort(key = len)
    >>['m', 'mm', 'mm', 'mmm']

    d =['CCC', 'bb', 'ffff', 'z'] 
    >>> sorted(d,key = str.lower )    #将列表中的每个元素变为小写,再按每个元素中的每个字母的ascii码从小到大排序 
    ['bb', 'CCC', 'ffff', 'z'] 

    ③双重列表/元组


    L = [(12, 12), (34, 13), (32, 15), (12, 24), (32, 64), (32, 11)]

    若希望按照第一列排序,则

    a.sort(key=lambda x: (x[0]))

    可设置reverse=True则按照第一列降序排序

    若希望首先按照第一列排,第一列相同的情况下,按照第二列排,均是升序的方式,则

    a.sort(key=lambda x: (x[0], x[1]))

    若第一列升序,第二列降序,则

    a.sort(key=lambda x: (x[0], -x[1]))
    l=[ [1,2,3],
       [2,2,1]]
    a=sorted(l, key = lambda x:(x[2]))    #按照第三个数字大小排序
    >>>[[2, 2, 1], [1, 2, 3]]                                                                                                      转载于: python多重排序_Jum_Summer的博客-CSDN博客_python 多重排序
    ④字典:
    f=[{'age': 20, 'name': 'abc'}, {'age': 25, 'name': 'ghi'}, {'age': 30, 'name': 'def'}] 
     
    f2 = sorted(f,key = lambda x:x['age']) 

    >>>  [{'age': 20, 'name': 'abc'}, {'age': 25, 'name': 'ghi'}, {'age': 30, 'name': 'def'}]

    operator.itemgetter函数
    转载于:Python中的sort()方法使用基础 - 路永远在脚下 - 博客园


    from operator import itemgetter
     
    alist = [(2,3,10), (1,2,3), (5,6,7), (2,5,10), (2,4,10)]
     
    # 多级排序,先按照第3个元素排序,然后按照第2个元素排序:
    (在第3个元素相同情况下再以第2个元素排序)
    print (sorted(alist,key = itemgetter(2,1)))

    print sorted(alist, key = lambda x:(int(x[2]),int(x[1]))

    >>>[(1, 2, 3), (5, 6, 7), (2, 3, 10), (2, 4, 10), (2, 5, 10)]

    展开全文
  • 我们在用EXCEL办公的时候,经常遇到去重和排序的问题,其实无论用哪个软件都经常遇到去重和排序问题,那么你知道用Python如何实现对字符串的去重排序吗?往下看,就是这么简单!案例s = "ajldjlajfdljfddd",...

    我们在用EXCEL办公的时候,经常会遇到去重和排序的问题,其实无论用哪个软件都经常会遇到去重和排序问题,那么你知道用Python如何实现对字符串的去重排序吗?

    往下看,就是这么简单!

    案例

    s = "ajldjlajfdljfddd",去重并从小到大排序输出"adfjl"

    先上代码~

    1e5603290586de892de5b65593b92f42.png

    运行效果

    8871c38740b9ca251d313c4140981769.png

    题目详述

    第一行:

    s = "ajldjlajfdljfddd"

    定义一个初始字符串变量,将它赋值给变量s

    第二行:

    s = set(s)

    这里我们用到了Python的set方法,一起来了解一下吧:

    set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

    第三行:

    s = list(s)

    将不重复的元素集s,转换成Python常用的列表元素,并赋值给s

    第四行:

    s.sort(reverse=False)

    这里我们用到了列表的sort方法,一起了解一下吧:

    sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

    特别注意:s.sort时候没有返回值,所以我们不能将sort赋值给某个变量,否则就会报错

    第五行:

    s = "".join(s)

    这里将sort之后的每个元素再重组成一个字符串,如果想用一些元素,比如说逗号、分号进行分割的时候,将分割元素加入到引号中即可

    reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

    第六行:

    print(s)

    打印字符串s,看输出结果即可

    进阶:

    轻松的就实现想要的目的

    是不是很便捷呢

    结束语

    总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python可以这么神奇!

    ———— e n d ————

    b3a537ccdf8d234d7bdcfa16e895ed69.png

    展开全文
  • Python中list去重的方法

    2021-09-10 21:54:50
    1.for 循环去重 list1 = [3,2, 1, 3, 4, 7,1,5,2, 1,'测试1','测试2','测试1','测试3'] temp = [] for i in list1: if not i in temp: temp.append(i) print(temp) [3, 2, 1, 4, 7, 5, '测试1', '测试2', '测试3'...
  • 1.方法一:set去重 lst1 = [1,4,4,2,3,4,5,6,1] print(lst1) # [1, 4, 4, 2, 3, 4, 5, 6, 1] ...可以看到使用set可以方便的去重列表,不过该方法有个弊端,打乱元素的顺序。 那有没办法保持原列表
  • python列表如何去重

    2021-02-03 16:15:15
    python列表去重的方法:1、利用字典的【fromkeys()】和【keys()】方法去重;2、集合的可迭代方法;3、用for循环,代码为【for x in L3:if x not in L4:L4.append(x)】。python列表去重的方法:第一种方法,利用字典...
  • python列表常见的5种去重方法

    千次阅读 2021-12-26 11:04:10
    列表去重python面试和实际运用中,十分常见,也是最基础的重点知识。 以下总结了5种常见的列表去重方法 一、使用for循环实现列表去重 此方法去重后,原顺序保持不变。 # for循环实现列表去重 list1 = ['a', 'b', 1...
  • 今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。问题就是对一个list中的新闻id进行去重去重之后要保证顺序不变。直观方法最简单的思路就是:ids = [1,2,3,...
  • list.sort()排序,默认升序 list.sort(reverse=True) 降序排列 注:list 中有字符串,数字时不能排序,排序针对同类型 六,列表操作的函数 1、len(list):列表元素个数 2、max(list):返回列表元素最大值 3、min...
  • 怎么快速的对列表进行去重呢,去重之后原来的顺序不会改变呢?去重之后顺序改变set去重列表去重改变原列表的顺序了l1 = [1,4,4,2,3,4,5,6,1]l2 = list(set(l1))print(l2) # [1, 2, 3, 4, 5, 6]但是,可以通过...
  • **set函数**set是集合,在集合中不能包含重复的元素,接收一个list作为参数在使用set()函数对列表中元素进行去重后,列表中的元素变成乱序。如:list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']list2=['...
  • Python嵌套列表去重

    2020-11-26 09:05:45
    人生苦短早用Python这是工作中遇到的一个坑,首先看一下问题raw_list = [["百度", "CPY"], ["京东", "CPY"], ["黄轩", "PN"], ["百度", "CPY"]]列表嵌套了列表,并且有一个重复列表["百度", "CPY"],现在要求将这个...
  • Python常用的几种去重方式

    万次阅读 2020-09-29 23:08:05
    由于Python去重方式比较多,本人在项目中总结了几种常用方法,欢迎补充。 一、对列表去重 1.用循环查找的方式 li = [1,2,3,3,4,2,3,4,5,6,1] news_li = [] for i in li:     if i not in news_li:...
  • 这篇文章主要介绍了python中对list去重的多种方法,现在分享给大家,需要的朋友可以参考下今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。问题就是对一个...
  • Python中List的去重问题

    2020-11-24 04:32:47
    Python中的去重问题,这或许是个简单的问题。比如一个list:a = [1,3,2,9,5,3,1,5],如何删除重复元素,嗯,有一个高端的方法:#方法一a = set(a)a:1, 2, 3, 5, 9.哇,好高端,事情可没这么简单,观察,a的顺序变的...
  • python对数据去重处理

    2020-11-20 22:42:46
    对数据去重有两种处理方式,如下:1、对重复数据去重,并且自动排序使用函数 set#列表去重list_a = [6, 6, 5, 1, 2, 2, 3, 4, 4, 4, 6, 7, 8, 8, 8, 10]#仅去重list_aa =set(list_a)print(list_aa)结果如下:细心...
  • 在各种数据分析时,排序和去重是用的最多 的两个...排序函数sort 用法:sort(axis=-1, kind='quicksort', order=None) 返回排序的结果 看下官方文档对各个参数的解释: axis:排序沿数组的(轴)方向,0表示按...
  • python之list去重

    2020-11-24 04:31:10
    问题就是对一个list中的新闻id进行去重去重之后要保证顺序不变。直观方法最简单的思路就是:复制代码代码如下:ids = [1,2,3,3,4,2,3,4,5,6,1]news_ids = []for id in ids:if id not in news_ids:news_ids.append...
  • 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) ...
  • python怎么去重

    2020-11-28 08:08:46
    python怎么去重?下面给大家介绍几种python去重的方法:方法一: 使用内置set方法来去重>>> lst1 = [2, 1, 3, 4, 1]>>> lst2 = list(set(lst1))>>> print(lst2)[1, 2, 3, 4]方法二: 使用字典中fromkeys()的方法来去重...
  • 通过list的set()和sort()函数对于数据进行顺序去重,读取文件夹中的所有文件,生成文件列表,读取文件内容列表,进行去重和按原索引顺序排序。 首先我们需要将所有需要去重的文件列举出来,通过os库的walk()函数可以...
  • 去重及排序-Python

    千次阅读 2022-03-30 13:59:56
    当列表里面的数值为数字时,使用set()函数会进行排序,若为字符,则不会排序,且每次运行返回的顺序都不一样,即set()函数的无序性。 List1 = [1,3,2,2,1] print(set(List1)) >>> {1, 2, 3} print(list...
  • 开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序,后面两种方法可以保持原来的顺序。下面的代码都在Python3下测试通过,Python2下请自行测试1.使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,509
精华内容 4,203
关键字:

python sort函数会去重吗