美文网首页Python算法题
挑战Python题解-002

挑战Python题解-002

作者: everfight | 来源:发表于2016-08-19 19:07 被阅读71次

2.给你一个list L, 如 L=[2,8,3,50], 对L进行升序排序并输出.
如样例L的结果为[2,3,8,50]

print sorted(L)

讨论区有同学有疑问,下面这段代码系统报错。

L.sort();
print L;

两者的差别如下:

python容器内数据排序:
sort函数:sort是在容器内排序,L是可变对象,L发生变化。
sorted函数:sorted生成一个新的排好序的容器。

sort用法
L.sort()之后的类型为Nonetype:
>>> L = [2,1,3]
>>> type(L.sort())
<type 'NoneType'>
>>> L = type(L.sort()) # L.sort() 已改变其结构
>>> print L
<type 'NoneType'>

参考资料:
python的排序函数sort,sorted在列表排序和字典排序中的应用详解和举例

sorted用法
>>> help(sorted)
Help on built-in function sorted in module builtin:

sorted(...)
    sorted(iterable, cmp=None, key=None, reverse=False) --    > new sorted list

reverse参数
>>> sorted(a,reverse = True) #将a从大到小排序,不影响a本身结构

key参数
>>> c =['CCC', 'bb', 'ffff', 'z']
>>> sorted(c,key=len) #按列表的元素的长度排序
['z', 'bb', 'CCC', 'ffff']

参考资料:
Python: sort,sorted,OrderedDict的用法

相关文章

  • 挑战Python题解-002

    2.给你一个list L, 如 L=[2,8,3,50], 对L进行升序排序并输出.如样例L的结果为[2,3,8,...

  • 挑战Python题解-001

    1.打印 a + b

  • 挑战Python题解-009

    9.给你两个正整数a和b, 输出它们的最大公约数。 方法一 :辗转相除法 方法二:迭代法

  • 挑战Python题解-008

    8.给你一个list L, 如 L=[0,1,2,3,4], 输出L的中位数(若结果为小数,则保留一位小数)。

  • 挑战Python题解-004

    4.给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以','链接,如‘1,2,3'。

  • 挑战Python题解-007

    7.已知矩形长a,宽b,输出其面积和周长,面积和周长以一个空格隔开解法一:直接法 解法二:格式化字符串

  • 挑战Python题解-005

    5.给你一个字符串 a, 输出字符奇数位置的字符串。如a=‘12345’,则输出135。

  • 挑战Python题解-006

    6.输出100以内的所有素数,素数之间以一个空格区分解法一:标识符 解法二:字符串+列表解析

  • 挑战Python题解-003

    3.给你一个字符串 a, 如a=‘12345’,对a进行逆序输出a。 解法一:切片 解法二:转化成列表倒序+字符串...

  • 挑战Python题解-011

    11.给你一个正整数列表 L, 如 L=[2,8,3,50], 输出L内所有数字的乘积末尾0的个数,如样例L的结果...

网友评论

    本文标题:挑战Python题解-002

    本文链接:https://www.haomeiwen.com/subject/gswbsttx.html