|
1
|
<br>
|
-
enumerate
函数定义:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
函数示例:
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']>>> list(enumerate(seasons))[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]>>> list(enumerate(seasons, start=1))[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
用法说明:enumerate(list,start=n) 会生成一个代不标的list,而下标的起始值根据n来决定,依次递增
-
range(stop) -
range(start, stop[, step]) -
xrange(stop) -
xrange(start, stop[, step])start :起始范围(包括)
stop :结束范围(不包括)
step : 每次递增范围
例:
|
1
2
3
4
5
6
7
|
>>>
range
(
10
)[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
]
>>>
range
(
1
,
11
)[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
]
>>>
range
(
0
,
30
,
5
)[
0
,
5
,
10
,
15
,
20
,
25
]
>>>
range
(
0
,
10
,
3
)[
0
,
3
,
6
,
9
]
>>>
range
(
0
,
-
10
,
-
1
)[
0
,
-
1
,
-
2
,
-
3
,
-
4
,
-
5
,
-
6
,
-
7
,
-
8
,
-
9
]
>>>
range
(
0
)[]
>>>
range
(
1
,
0
)[]
|
python2 中 range在创建时会在内存中把值全部列出来,而xrange只在使用的时候才在内存中创建,所以xrange性能相对range来说高些,
pyhton3 中去掉了xrange,保留了range,而python3中的range相当于python2中的xrange
两都用法相同
本文转自 wbb827 51CTO博客,原文链接:http://blog.51cto.com/wbb827/1932986