1 range和xrange的区别
答: range是直接生成一个列表,而xrange是生成一个对象,只要在用的时候在调用,xrange可以在大的列表中开辟的内存块下!
1
2
3
4
5
6
7
|
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组成的排序列表
总之返回的都是列表
举例吧:
1
2
3
4
|
In [
15
]: l
=
[
3
,
1
,
2
,
8
]
In [
16
]: l.sort()
In [
17
]: l
Out[
17
]: [
1
,
2
,
3
,
8
]
|
1
2
3
4
5
|
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'
}
|
1
2
3
|
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()方法
本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1764722如需转载请自行联系原作者
cuizhiliang