精华内容
下载资源
问答
  • python 排序sorted

    2017-05-11 12:45:00
    num = [3,2,4,6,5] anum = sorted(num) dnum = sorted(num,reverse=True) print '升序:',anum # 升序: [2, 3, 4, 5, 6] ...print '降序:',dnum # 降序: [6, 5, 4, 3, 2]help(sorted) # sorted(iterable...
    num = [3,2,4,6,5]
    anum = sorted(num)
    dnum = sorted(num,reverse=True)
    print '升序:',anum     # 升序: [2, 3, 4, 5, 6]
    print '降序:',dnum     # 降序: [6, 5, 4, 3, 2]
    help(sorted) # sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

    sorted()最多可以接收4个参数,iterable是可迭代对象,包括3类:

    第一类是所有的序列类型,比如list(列表)、str(字符串)、tuple(元组)。
    第二类是一些非序列类型,比如dict(字典)、file(文件)。
    第三类是你定义的任何包含__iter__()或__getitem__()方法的类的对象。
     
     

    转载于:https://www.cnblogs.com/yiyezhouming/p/6840410.html

    展开全文
  • python 排序 sorted 如果第一个条件 相同 则按第二个条件排序 怎样遍历一个list 符合下列条件 1. 按照元组的第一个从小到大排序 2. 如果第一个相同 则按照元组第2个从大到小 排序 a=[[2,3],[4,1],(2,8),(2,1),(3,4...

    python 排序 sorted 如果第一个条件 相同 则按第二个条件排序

    怎样遍历一个list  符合下列条件

    1. 按照元组的第一个从小到大排序
    2. 如果第一个相同  则按照元组第2个从大到小 排序

    1. a = [[2,3],[4,1],(2,8),(2,1),(3,4)]
    2. b = sorted(a,key=lambda x: (x[0], -x[1]))
    3. print b
    4. a = [[2,{'a':8}],[4,{'a':1}],(2,{'a':8}),(2,{'a':1}),(3,{'a':4})]

    如果逆序不能前面加个 '-'  来解决 , 可以用下面的办法  例如: 排序的是个字符串

    1. class Reversinator(object):
    2.     def __init__(self, obj):
    3.         self.obj = obj
    4.     def __lt__(self, other):
    5.         return other.obj < self.obj
    6.  
    7. a = [(2,'3'),(4,'1'),(2,'8'),(2,'1'),(3,'4')]
    8.  
    9. print sorted(a, key=lambda x: (x[0], Reversinator(x[1])))

    例题:给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。

    如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。

    请你返回排序后的数组。

     

    示例 1:

    输入:arr = [0,1,2,3,4,5,6,7,8]
    输出:[0,1,2,4,8,3,5,6,7]
    解释:[0] 是唯一一个有 0 个 1 的数。
    [1,2,4,8] 都有 1 个 1 。
    [3,5,6] 有 2 个 1 。
    [7] 有 3 个 1 。
    按照 1 的个数排序得到的结果数组为 [0,1,2,4,8,3,5,6,7]

    示例 2:

    输入:arr = [1024,512,256,128,64,32,16,8,4,2,1]
    输出:[1,2,4,8,16,32,64,128,256,512,1024]
    解释:数组中所有整数二进制下都只有 1 个 1 ,所以你需要按照数值大小将它们排序。

    示例 3:

    输入:arr = [10000,10000]
    输出:[10000,10000]

    示例 4:

    输入:arr = [2,3,5,7,11,13,17,19]
    输出:[2,3,5,17,7,11,13,19]

    示例 5:

    输入:arr = [10,100,1000,10000]
    输出:[10,100,10000,1000]

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/sort-integers-by-the-number-of-1-bits
     

    class Solution:
        def sortByBits(self, arr: List[int]) -> List[int]:
            return sorted(arr,key=lambda x:(bin(x).count('1'),x))

     

    考研人信息库

     考研对信息的获取至关重要,此公众号会发表计算机考研(初复试信息)、夏令营等资料,方便考研人对信息的获取,节约自身查找资料的时间

     

    展开全文
  • python 排序 sorted方法

    2019-10-03 11:57:37
    转自:https://www.cnblogs.com/monsteryang/p/6938779.html 转载于:https://www.cnblogs.com/JAYWX/articles/10184891.html

    转自: https://www.cnblogs.com/monsteryang/p/6938779.html

    转载于:https://www.cnblogs.com/JAYWX/articles/10184891.html

    展开全文
  • python 排序 sorted 如果第一个条件 相同 则按第二个条件排序怎样遍历一个list 符合下列条件1. 按照元组的第一个从小到大排序2. 如果第一个相同 则按照元组第2个从大到小 排序a = [[2,3],[4,1],(2,8),(2,1),(3,4...
    python 排序 sorted 如果第一个条件 相同 则按第二个条件排序

    怎样遍历一个list  符合下列条件

    1. 按照元组的第一个从小到大排序
    2. 如果第一个相同  则按照元组第2个从大到小 排序

    1. = [[2,3],[4,1],(2,8),(2,1),(3,4)]
    2. = sorted(a,key=lambda x: (x[0], -x[1]))
    3. print b


     

    1. = [[2,{'a':8}],[4,{'a':1}],(2,{'a':8}),(2,{'a':1}),(3,{'a':4})]
    2. array = [7,8]
    3. def fun(x):
    4.     return (-x[0],x[1].get('a'))
    5. = sorted(a,key=fun)
    6. print b

     

    性能这玩意还是要用数据说话

    1. import time

    2. = xrange(1000000)
    3. = zip(n, n)

    4. start = time.time()
    5. x.sort(key = lambda x: (x[0], -x[1]))
    6. end = time.time()
    7. print 'key', end-start

    8. = zip(n, n)
    9. start = time.time()
    10. x.sort(cmp=lambda x, y: x[0] - y[0] or y[1] - x[1])
    11. end = time.time()
    12. print 'cmp', end-start
    输出:

    1. key 2.34500002861 cmp 0.269000053406

    key的代码确实优雅些,但不管从直观上,还是实测结果,都看不出来key更快。

    如果逆序不能前面加个 '-'  来解决 , 可以用下面的办法  例如: 排序的是个字符串

    1. class Reversinator(object):
    2.     def __init__(self, obj):
    3.         self.obj = obj
    4.     def __lt__(self, other):
    5.         return other.obj < self.obj

    6. = [(2,'3'),(4,'1'),(2,'8'),(2,'1'),(3,'4')]

    7. print sorted(a, key=lambda x: (x[0], Reversinator(x[1])))

    补充:

    python本身提供了排序功能,其排序算法是稳定的,即key相等的两项在排序后的先后次序不变

    下面通过list.sort来演示一下如何通过key函数来进行自定义的排序

    所谓的key函数,就是以参加排序的每一项作为输入,而输出则为用来排序的key
     

    1. #python list 排序 

    2.    

    3. def my_key1(x): 

    4.     return x % 10 

    5. aList = [4, 5, 1, 2, 12, 34, 56, 9 ,80] 

    6. aList.sort() #默认按升序排列 

    7. print(aList) 

    8. aList.sort(reverse = True) #按降序排列 

    9. print(aList) 

    10. aList.sort(key = my_key1) #根据key函数,按照个位数进行升序排列 

    11. print(aList) 

    12.     

    13. def my_key2(x): 

    14.     return x[1] 

    15. aList = [(4,'ab'), (56,'c'), (1,'bb'), (102, 'a')] 

    16. aList.sort(key = my_key2) #按照每个元组的第2分量,即字符串排序 

    17. print(aList)
    原文:http://blog.chinaunix.net/xmlrpc.php?id=3140368&r=blog/article&uid=429659
    展开全文
  • python 排序sorted函数

    2017-12-05 15:33:34
    参数iterable:需要排序的可迭代数据如:列表,字典 参数cmp: 参数key:设置具体按照什么排序,operator.itemgetter(0),如果是字典则0表示key排序,1表示value排序,2则报错  注:需要import operator 参数...
  • Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。sorted(iterable,key=None,reverse=False),返回新的列表,对所有可迭代的对象均有效sort(key=None,...
  • Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。 sorted(iterable,key=None,reverse=False),返回新的列表,对所有可迭代的对象均有效 sort(key=...
  • python 排序sorted()

    千次阅读 2015-04-09 19:06:10
    排序算法 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,...
  • 只要是可迭代对象都可以用sortedsorted(itrearble, cmp=None, key=None, reverse=False) =号后面是默认值 默认是升序排序的, 如果想让结果降序排列,用reverse=True 最后会将排序的结果放到一...
  • key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序 (3) reverse参数 接受False 或者True 表示是否逆序 a.对字典进行排序 sorted(count.items(), key = operator .itemgetter( 1 ),...
  • Python 排序(sorted)

    2017-06-27 23:59:11
    python 排序 sorted 如果第一个条件 相同 则按第二个条件排序 遍历一个list,符合下列条件: 按照元组第一位的值从小到大排序 如果第一个相同,则按照元组第2位的值从大到小排序
  • 主要介绍了Python使用sorted排序的方法,结合三个实例分析了Python使用sorted方法进行元素排序操作的相关实现技巧,需要的朋友可以参考下
  • Python 排序函数sorted

    2017-04-27 16:12:50
    Python 排序函数sorted函数原型sorted(iterable, key=None, reverse=False) * iterable 是待排序的数据结构 * key 元素评价函数 用来评价元素大小 * reverse 是否倒序 * 返回值是排好序的数据结构,不改变源数据...
  • 主要介绍了Python自定义sorted排序实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • python dict sorted 排序

    2017-11-23 19:07:39
    python dict sorted 排序 转载自http://hi.baidu.com/jackleehit/blog/item/53da32a72207bafa9052eea1.html 我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,548
精华内容 1,819
关键字:

python排序sorted

python 订阅