精华内容
下载资源
问答
  • 编写函数,模拟Python内置函数sorted(),以列表数据进行测试
    2022-05-04 21:50:04
    a = [1, 2, 8, 9, 10, 10]
    b = a.sort()
    print(b)

     None

    返回值是None,是因为对sort()排序会覆盖原来的表

    a=[1,3,44,5.,8,2]
    a.sort()
    print(a)

    这样写才会返回排序后的列表 

    def sorted(list1):
        list1.sort()
        return list1
    list2=[1,6,4,8,5,2]
    print(sorted(list2))
    

    [1, 2, 4, 5, 6, 8]

    更多相关内容
  • 模拟python sorted()函数
  • 编写函数,模拟内置函数sorted 问题分析及代码展示如下 #编写函数,模拟内置函数 sorted()[参数传入问题,比较法则问题,排序方向问题] from collections.abc import Iterable def sort(*parameter,key = None,...

    编写函数,模拟内置函数sorted

    问题分析及代码展示如下

    #编写函数,模拟内置函数 sorted()[参数传入问题,比较法则问题,排序方向问题]
    from collections.abc import Iterable
    def sort(*parameter,key = None,reverse = False):#*parameter表示任意多参数
    	if(isinstance(parameter[0],Iterable)):
    		lst = list(*parameter)#*paremeter实参进行序列解包(([],)==>[])(注意是在函数中对实参使用*进行序列解包)
    	else:
    		lst = list(parameter)
    
    	isNone = False
    	if not key == None:#如果指定排序法则的话,那么就需要进行另一套比较方式了
    		isNone = True
    		f = lambda x : key(x)
    
    	if not isNone:
    		for i in range(len(lst) - 1):
    			for j in range(len(lst) - 1 - i):
    				if lst[j] > lst[j+1]:
    					temp = lst[j]
    					lst[j] = lst[j+1]
    					lst[j+1] = temp
    	else:
    		for i in range(len(lst) - 1):
    			for j in range(len(lst) - 1 - i):
    				if f(lst[j]) > f(lst[j+1]):
    					temp = lst[j]
    					lst[j] = lst[j+1]
    					lst[j+1] = temp
    
    
    	if reverse:
    		lstReversed = []
    		for i in range(len(lst)):
    			lstReversed.append(lst[len(lst)-1-i])
    		lst = lstReversed
    
    	print(lst)
    
    sort(2,4,3,5,7,1,6,0,21222,12,8,9,key = lambda x : len(str(x)))
    sort([2,3,5,7,1,6,0,21222,12,8,9])
    sort([2,3,5,7,1,6,0,21222,12,8,9],reverse = True)
    """sort函数文档如下 
    sorted(iterable, /, *, key=None, reverse=False)
        Return a new list containing all items from the iterable in ascending order.
    
        A custom key function can be supplied to customize the sort order, and the
        reverse flag can be set to request the result in descending order."""
    """判断可迭代对象的方法
    from collections import Iterable
    isinstance([1,2,3,4], Iterable) ==> True
    """
    """
    注解
    第三行*parameter实参的使用,使得parameter变为一个元组存储数据,其中元素为传入参数;
    当传入为可迭代对象的时候,例如[1,2,3,4],parameter为([1,2,3,4],)==>第一个元素为可迭代对象
    当传入几个数字的时候,例如1,2,3,4,paramete为(1,2,3,4)==>第一个元素为数字
    """
    """字符串数字的比较原则,例如'9' > '12'
    这是为什么呢?是因为比较的是字符的编码,先进行91字符编码的比较,发现前者大,那么比较停止,得到结果
    ord('1') = 49
    ord('9') = 57
    """
    
    展开全文
  • python内置函数sorted()

    2022-01-16 19:22:34
    python内置函数sorted() 目录python内置函数sorted()一、简介二、详解三、代码四、Reference 一、简介 众所周知,sorted()内置函数是对iterable可迭代对象进行排序。 要点:sorted()内置函数和list对象的sort()方法...

    python内置函数sorted()

    一、简介

    众所周知,sorted()内置函数是对iterable可迭代对象进行排序。
    要点sorted()内置函数和list对象的sort()方法的区别如下,

    sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort
    方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

    二、详解

    语法:sorted(iterable, cmp=None, key=None, reverse=False)
    参数

    • iterable是待排序的可迭代对象。
    • cmp是比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
    • key是排序关键字,主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

    key参数可以传入一个callable对象给它,这个callable对象对每个传入的对象返回一个值,这个值会被sorted用来排序这些对象。

    • reverse是排序规则reverse = True 降序 , reverse = False 升序(默认)

    三、代码

    例如按照数字的值,对下列数据对进行排序

    lst = [('a', 24), ('g', 52), ('i', 12), ('k', 33)]
    print(sorted(lst, key=lambda x: x[1]))
    
    [('i', 12), ('a', 24), ('k', 33), ('g', 52)]
    

    四、Reference

    https://www.runoob.com/python/python-func-sorted.html

    展开全文
  • python内置函数sorted()用法深入分析

    千次阅读 2020-12-14 18:44:22
    本文实例讲述了python内置函数sorted()用法。分享给大家供大家参考,具体如下:列表对象提供了sort()方法支持原地排序,而内置函数sorted()不支持原地操作只是返回新的列表,并不对原列表进行任何修改。sorted()方法...

    本文实例讲述了python内置函数sorted()用法。分享给大家供大家参考,具体如下:

    列表对象提供了sort()方法支持原地排序,而内置函数sorted()不支持原地操作只是返回新的列表,并不对原列表进行任何修改。sorted()方法可以对列表、元组、字典、range对象等进行排序。列表的sort()方法和内置函数sorted()都支持key参数实现复杂排序要求。

    #使用key来指定排序依据,先按姓名升序排序,姓名相同的按年龄降序排序

    >>> persons = [{'name':'xuzm', 'age':10}, {'name':'xuzm2', 'age':20}, {'name':'xuzm4', 'age':40}, {'name':'xuzm3', 'age':30}]

    >>> persons

    [{'name': 'xuzm', 'age': 10}, {'name': 'xuzm2', 'age': 20}, {'name': 'xuzm4', 'age': 40}, {'name': 'xuzm3', 'age': 30}]

    >>> print(sorted(persons, key=lambda x:(x['name'], -x['age'])))

    [{'name': 'xuzm', 'age': 10}, {'name': 'xuzm2', 'age': 20}, {'name': 'xuzm3', 'age': 30}, {'name': 'xuzm4', 'age': 40}]

    >>> phonebook = {'xuzm':'123', 'xuzm2':'456', 'xuzm3':'789'}

    >>> from operator import itemgetter

    >>> sorted(phonebook.items(), key=itemgetter(1)) #按字典元素的值默认进行升序排列

    [('xuzm', '123'), ('xuzm2', '456'), ('xuzm3', '789')]

    >>> sorted(phonebook.items(), key=itemgetter(0),reverse=True) #按字典中元素的键进行降序排序

    [('xuzm3', '789'), ('xuzm2', '456'), ('xuzm', '123')]

    >>> gameresult = [['Bob', 95.0, 'A'], ['Alan', 86.0, 'C'], ['Mandy', 83.5, 'A'], ['Rob', 89.3, 'E']]

    >>> sorted(gameresult, key=itemgetter(0, 1)) #按姓名升序排列,姓名相同的按分数进行升序排列

    [['Alan', 86.0, 'C'], ['Bob', 95.0, 'A'], ['Mandy', 83.5, 'A'], ['Rob', 89.3, 'E']]

    >>> sorted(gameresult, key=itemgetter(1, 0)) #按分数进行升序排列,分数相同的按姓名进行升序排列

    [['Mandy', 83.5, 'A'], ['Alan', 86.0, 'C'], ['Rob', 89.3, 'E'], ['Bob', 95.0, 'A']]

    >>> sorted(gameresult, key=itemgetter(2, 0)) #按等级升序排列,等级相同的按姓名进行升序排列

    [['Bob', 95.0, 'A'], ['Mandy', 83.5, 'A'], ['Alan', 86.0, 'C'], ['Rob', 89.3, 'E']]

    >>> gameresult = [{'name':'Bob', 'wins':10, 'losses':3, 'rating':75.0},

    {'name':'David', 'wins':3, 'losses':5, 'rating':57.0},

    {'name':'Carol', 'wins':4, 'losses':5, 'rating':57.0},

    {'name':'Patty', 'wins':9, 'losses':3, 'rating':72.8}]

    >>> sorted(gameresult, key=itemgetter('wins', 'name')) #按wins排列,wins相同的按name惊进行排列

    [{'name': 'David', 'wins': 3, 'losses': 5, 'rating': 57.0}, {'name': 'Carol', 'wins': 4, 'losses': 5, 'rating': 57.0}, {'name': 'Patty', 'wins': 9, 'losses': 3, 'rating': 72.8}, {'name': 'Bob', 'wins': 10, 'losses': 3, 'rating': 75.0}]

    根据另一个列表的顺序排列一个列表

    >>> list1 = ["what", "I'm", "sorting", "by"]

    >>> list2 = ["something", "else", "to", "sort"]

    >>> pairs = zip(list1, list2) #用zip对象压缩

    >>> pairs = sorted(pairs) #新列表按照list1进行排序

    >>> pairs

    [("I'm", 'else'), ('by', 'sort'), ('sorting', 'to'), ('what', 'something')]

    >>> result = [x[1] for x in pairs] #按新列表中list1的顺序筛选出新列表中的list2部分

    >>> result

    ['else', 'sort', 'to', 'something']

    更多关于Python相关内容可查看本站专题:《Python列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

    希望本文所述对大家Python程序设计有所帮助。

    本文标题: python内置函数sorted()用法深入分析

    本文地址: http://www.cppcns.com/jiaoben/python/277807.html

    展开全文
  • Python 内置函数sorted()在高级用法

    千次阅读 2020-12-11 06:16:28
    对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比。在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的。主要的区别在于,list.sort()是对已经存在的...
  • 编写函数,模拟内置函数 sorted()。

    千次阅读 2021-05-29 23:04:01
    编写函数,模拟内置函数 sorted()。 用python来简单的模拟sorted可以用库函数来进行,也较为简单,我选了min()和sort()来进行模拟 利用min()函数 def sorteds(items): temp = items[:] result = [] while temp: ...
  • sorted() :排序函数 语法:sorted(Iterable, key=None, reverse=False)  Iterable: 可迭代对象  key: 排序规则(函数),在sorted内部会把可迭代对象中的每一个元素传递给这个函数,然后根据函数的运算结果进行...
  • Python 内置sorted()函数

    2022-04-20 12:55:16
    简单介绍一下Python内置sorted()函数的用法。 调用方法: sorted(iterable, reverse=False) sorted()函数默认会将一个可迭代对象,如列表中的数据按照从小到大的顺序排列起来。代码如下: list1 = [2, 3, 1, 4, 5, ...
  • python编写函数myfunc(),模拟内置函数sorted()功能。注:程序中不允许出现sorted()函数 运行结果:
  • 【计算题】输出 “ 水仙花数 ” 。所谓水仙花数是指 1 个 3 位的十进制数,其各位数字的立方和等于该数本身。例如: 153 是水仙花数,因为 153 = 1^3 + 5^3 + 3^... (2.0分)【计算题】编写函数 Rate(origin, userInput)...
  • 比较python中sorted与sort的区别,以及模拟内置函数sorted()
  • 【单选题】急性心肌梗死易并发脏器及四肢动脉栓塞的时间多在发病后【简答题】假设有Python程序文件demo.py,代码如下: def main(): if __name__ == '__main__': print(1) else: print(2) main()...
  • 1、sorted(iterable[, key][, reverse]) 从Iterable中的项返回新的排序列表。 有两个指定关键字的可选参数:[, key]、[, reverse]。 key指定一个参数的函数,该函数用于从每个列表元素中提取比较key:key=str.lower...
  • <p><img alt="" height="1440" src="https://img-ask.csdnimg.cn/upload/1618703069516.png" width="2160" /></p>  我想这样子用升序排列 但是写不下去了不知道要怎么写了</p>
  • Python 内置函数sorted()

    千次阅读 2018-01-15 11:21:08
    1、对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比。在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的。 主要的区别在于,list.sort()是对...
  • sorted() 函数对所有可迭代的对象进行排序操作 sorted()函数的语法为: sorted(iterable, cmp=None, key=None, reverse=False) iterable 可迭代对象 cmp 比较函数,这个具有两个参数,参数的值都是从可迭代对象中...
  • python内置函数 sorted

    千次阅读 2015-11-15 18:57:36
    1.sorted()内置函数返回一个新的序列,它可以对任何iterable对象排序  list.sort() 没有返回值,它对原来的序列进行排序,这个函数只是用list 2.key参数  key参数是一个函数,这个函数作用
  • Python sorted函数及用法

    千次阅读 2020-12-23 14:38:30
    sorted() 作为Python内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。sorted() 函数的基本语法格式如下:list = sorted(iterable, key=None, reverse=False)其中,iterable 表示指定...
  • 内置函数——sorted 对List、Dict进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副本 方法2.用built-in函数sorted进行排序(从2.4开始),...
  • Python sorted()函数

    千次阅读 2020-07-11 04:14:52
    Python sorted() function returns a sorted list from the items in the iterable. Python sorted()函数从iterable... Python sorted()函数 (Python sorted() function) Python sorted() function syntax is: ...
  • 在给列表排序时,sorted非常好用,语法如下: sorted(iterable[, cmp[,key[,reverse]]]) sorted定义如下: sorted( iterable[, cmp[, key[, reverse]]]) iterable:是可迭代类型类型; cmp:用于比较的函数,比较...
  • 内置函数——sorted

    2019-03-19 21:11:00
    用built-in函数sorted进行排序(从2.4开始),返回副本,原始输入不变参数说明:iterable:是可迭代类型;key:传入一个函数名,函数的参数是可迭代类型中的每一项,根据函数的返回值大小排序;reverse:排序规则....

空空如也

空空如也

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

python模拟内置函数sorted