五、range、enumerate、tuple元组。

一、range函数使用方法

1.1:语法

range(start,stop,step)
  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

1.2:实例

>>>range(10)        # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11)     # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)  # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3)  # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]

1.3:range函数使用方法

range()函数内只有一个参数,则表示会产生从0开始计数的整数列表:

>>> range(4)
[0, 1, 2, 3] 

python range中,当传入两个参数时,则将第一个参数做为起始位,第二个参数为结束位:

>>> range(0,5)
[0, 1, 2, 3, 4]

range()函数内可以填入三个参数,第三个参数是步进值(步进值默认为1):

>>> range(0,10,3)
[0, 3, 6, 9]

range函数的参数和结果也并非一定要是正数或是递增的,好比下面两个例子:

>>> range(-4,4)
[-4, -3, -2, -1, 0, 1, 2, 3]
>>>
>>> range(4,-4,-1)
[4, 3, 2, 1, 0, -1, -2, -3]

1.4:range()在for循环中的作用及技巧

range可以根据给定的次数,重复动作;

计算1-100之间所有数的和

n=0
for x in range(101):
    n=n+x
print(n)

打印五遍我最帅哈哈

for i in range(5):
	print("我","最","帅","哈哈")

  

print(range(100))
for i in range(100):
    print(i)

#输出结果为:
0
1
.
.
.
99
for i in range(1,11):
    print(i)

#输出结果为:
1
2
3
4
5
6
7
8
9
10
for i in range(2, 101, 2):
    print(i)

#输出结果为:
2
4
6
8
10
.
.
.
98
100
for i in range(100,0,-1):
    print(i)
#输出结果为:
100
99
98
.
.
.
3
2
1
l1 = [1, 2, 3, 4, 5, 'alex']
for i in range(len(l1)):
    print(i)
#输出结果为:
0
1
2
3
4
5

二、enumerate()用法

  • 枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值;
  • 将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中;
li = ['alex','银角','女神','egon','太白']
for i in enumerate(li):
    print(i)
for index,name in enumerate(li,1):
    print(index,name)
for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改
    print(index, name)    
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>>list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>>list(enumerate(seasons, start=1))       # 小标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
#普通的 for 循环
>>>i = 0
>>>seq = ['one', 'two', 'three']
>>>for element in seq:
...    print(i, seq[i])
...    i += 1
... 
0 one
1 two
2 three


#for 循环使用 enumerate
>>>seq = ['one', 'two', 'three']
>>>for i, element in enumerate(seq):
...    print(i, seq[i])
... 
0 one
1 two
2 three
>>>

 

三、tuple元组

  • 元组,只读列表。
tu = (1, 2, 33, 'alex')
print(tu[1])
print(tu[:-1])
for i in tu:
     print(i)
tu1 = (1, 2, [1, 3,], 4)
tu1[2].append(666)
print(tu1)
#输出结果为:
2
(1, 2, 33)
1
2
33
alex
(1, 2, [1, 3, 666], 4)
posted @ 2018-05-09 09:10  HaydenGuo  阅读(416)  评论(0)    收藏  举报