Python for循环

for循环

for循环能够做到的事情,while循环都可以做到。

但是for循环语法更加简洁,并且在循环取值问题上更加方便。

for 变量名 in 可迭代对象:  # 字符串、列表、字典、元组、集合
    for循环体代码

ps:变量名如果没有合适的名称,那么可以使用i,j,k,v,item等

循环取出列表的每一个元素并打印

name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
for name in name_list:
    print(name)

image

for循环字符串

for i in 'hello world':
    print(i)

image

for循环字典:

字典默认只能拿到k

d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}
for k in d:
    print(k,d[k])

image

range关键字

第一种:一个参数 从0开始 顾头不顾尾

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

image

第二种:两个参数 自定义起始位置 顾头不顾尾

for i in range(4, 10):
    print(i)

image

第三种:三个参数 第三个数用来控制等差值

for i in range(2, 100, 10):
    print(i)

image

扩展知识

网站也可以用这种方式进行翻页

https://movie.douban.com/top250  第一页
https://movie.douban.com/top250?start=25&filter=  第二页
https://movie.douban.com/top250?start=50&filter=  第三页https://movie.douban.com/top250?start=75&filter=  第四页
https://movie.douban.com/top250?start=0&filter=  推测第一页

base_url = "https://movie.douban.com/top250?start=%s&filter="
for i in range(0, 250, 25):
    print(base_url % i)

image

range在不同版本的解释器中,本质不同

在python2.x中range会直接生成一个列表
	在python2.x中有一个xrange也是迭代器(老母猪)
在python3.x中range是一个迭代器(老母猪) 节省内存空间
python2.x中xrange就是python3.x中的range

for + break

break功能也是用于结束本层循环

for i in range(10):
    if i == 4:
        break
    print(i)

image

for + continue

continue功能也是结束本次循环

for i in range(10):
    if i == 4:
        continue
    print(i)

image

for + else

else也是在for循环正常结束的情况下才会执行

for i in range(10):
    if i == 4:
        break
    print(i)
else:
    print('aaa')  # else不执行

image

for循环嵌套使用

for i in range(3):
    for j in range(5):
        print('*', end='')
    print()
    
for i in range(1, 10):
    for j in range(1, i + 1):
        print('%s*%s=%s' % (j, i, i * j), end=' ')
    print()

image

image

posted @ 2021-11-05 21:11  尤露  阅读(143)  评论(0)    收藏  举报