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

python常问的基础面试题

2016-04-17 13:11 543 查看
1 range和xrange的区别
答: range是直接生成一个列表,而xrange是生成一个对象,只要在用的时候在调用,xrange可以在大的列表中开辟的内存块下!
In [8]: range(1,10)
Out[8]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In [9]: a =xrange(1,10)
In [10]: type(a)
Out[10]: xrange
In [11]: a[0]
Out[11]: 1


2 sort 和sorted的区别
相同点:
a.都是python的内建函数
b.都有排序的功能

异同点:
sort只能对列表(且会修改原 内容 相当于理解linux命令中的 sed -i 效果一样)
sorted 能对列表,字符串,字典进行排序,且不修改原来的元素,只是输出一个排序后的对象值可赋值
如果是字符串,则返回一个各个字母组成的列表形式
如果是列表,则返回默认增的排列形式
如果是字典,则默认返回以key组成的排序列表

总之返回的都是列表

举例吧:
In [15]: l = [3,1,2,8]
In [16]: l.sort()
In [17]: l
Out[17]: [1, 2, 3, 8]
In [18]: d = {1:'a',3:'d',2:'d'}
In [19]: sorted(d)
Out[19]: [1, 2, 3]
In [20]: d
Out[20]: {1: 'a', 2: 'd', 3: 'd'}


In [21]: l ='i love you'
In [22]: sorted(l)
Out[22]: [' ', ' ', 'e', 'i', 'l', 'o', 'o', 'u', 'v', 'y']


许多python初学者,对sort()方法比较糊涂。有的时候会需要一个排序好的列表,而又想保存原有未排序列表,他们会这么操作:
>>> a = [5,7,6,3,4,1,2]
>>> b = a.sort()
>>> print b
None

这个时候问题出现了,变量b得到的是一个空值。那么想要得到排序好的列表,又想保留原列表怎么办呢?列表sorted()方法可以帮你实现。
sorted()方法

本文出自 “崔德华运维打工从业路” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1764722
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: