3、内置函数sorted()和reversed()使用方法

来源:互联网 发布:波特兰州立大学 知乎 编辑:程序博客网 时间:2024/06/05 07:55

1、内置函数sorted()

sorted(iterable, key=None, reverse=False)

返回将迭代器中的元素排序的新列表

>>> i = [55, 12, 23, 45, 18, 26]
>>> j = sorted(i)
>>> i
[55, 12, 23, 45, 18, 26]
>>> j
[12, 18, 23, 26, 45, 55]
>>>

将reverse参数设置为True,则可以实现逆置排序

>>> sorted(i, reverse = True)
[55, 45, 26, 23, 18, 12]
>>>

2、内置函数reversed()

reversed(seq)

返回以一个逆置的迭代器

>>> i = [55, 12, 23, 45, 18, 26]
>>> reversed(i)
<list_reverseiterator object at 0x02DE4C90>
>>>
>>> for n in reversed(i):
 print(n)

26
18
45
23
12
55

直接用print输出则没输出一个数字就自动换行,显然不是想要的结果

>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

通过查看print函数,则发现end默认值为‘\n',改为’ ‘空格,后可以达到预期输出效果

>>> for n in reversed(i):
 print(n, end = ' ')

26 18 45 23 12 55

3、sorted与sort区别

 前者是内置函数,后者是列表、字典的方法;前者返回一个新列表

>>> i = [55, 12, 23, 45, 18, 26]
>>> n = sorted(i)
>>> i
[55, 12, 23, 45, 18, 26]
>>> n
[12, 18, 23, 26, 45, 55]
>>>  i.sort()
>>> i
[12, 18, 23, 26, 45, 55]

4、reversed与reverse区别

前者是内置函数,后者是列表、字典的方法。前者返回一个新列表  

>>> i = [55, 12, 23, 45, 18, 26]
>>> for n in reversed(i):
 print(n, end = ' ')

26 18 45 23 12 55
>>> i
[55, 12, 23, 45, 18, 26]
>>> i.reverse()
>>> i
[26, 18, 45, 23, 12, 55]
>>>



0 0