您的位置:首页 > 编程语言 > Python开发

日记:一个大坑,关于python的sort和sorted

2017-08-27 21:00 253 查看
=========================

sort无返回值,没有新建列表

sorted生成新列表,旧列表不变

例子:

>>> a=[2,1,3]
>>> a
[2, 1, 3]
>>> b=a.sort()
>>> b
>>> a
[1, 2, 3]


可以看到b啥也没有,a却已经排序了,估计sort的用法应该就是a.sort()就可以,不用再去赋值给b

=========================

再看sorted,这个应该用的多一些,一方面这个有返回值,另一方面可以选定需要的key进行排序,主要看例子

首先看下字典的排序:

>>> a={2:'b',1:'a',3:'c'}
>>> b=sorted(a)
>>> b
[1, 2, 3]
>>> c=sorted(a.items())
>>> c
[(1, 'a'), (2, 'b'), (3, 'c')]


个人觉得用的很多的应该是这个,字典排序生成(k,v)元组信息

=========================

再看下根据指定的key排序,

>>> a=['b&2','a&1','c&3']
>>> b=sorted(a,key=lambda line : line.split('&')[1])
>>> b
['a&1', 'b&2', 'c&3']


========================

再有一个自己遇到的算法题,估计圆周率,鄙人写了一个简单的程序,原创,思路简单就是利用sin(π)=0,且附近斜率为-1,个人觉得还OK

>>> import math
>>> def get_pi(s):
...     x=3
...     while(abs(math.sin(x))>s):
...             x=x+math.sin(x)
...     return x
...
>>> get_pi(0.0000001)
3.1415926535721956
>>> get_pi(0.000000000001)
3.141592653589793


其实以前以为只是国企才会充满政治与江湖,慢慢的发现,有人的地方就有江湖。

太沉重了,说点好玩的,哈哈哈,我的linux系统有一个奇怪的bug,每次深度模型内存在承受边缘的时候,会在某个不定的时间killed,问题是之前没有问题??买了个尤克里里,虽然不是给我用的,但是按个弦和扫个弦咋这么难搞,我是不是和乐器绝缘了!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: