我是靠谱客的博主 任性小刺猬,最近开发中收集的这篇文章主要介绍Python循环语句:for循环的用法及对列表的处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、for循环基础用法

使用系统给定 range() 完成范围指定。range()包前不包后。举例说明:

range(8)   #意思就是0-7,不包含8的整数

以下所有举例都以张飞吃馒头为例。

方法1:初次学习for循环

name='张飞'
for i in range(5):
    print('{}喜欢吃馒头,正在吃第{}个馒头'.format(name,i))
print('{}终于吃完了'.format(name))
张飞喜欢吃馒头,正在吃第0个馒头
张飞喜欢吃馒头,正在吃第1个馒头
张飞喜欢吃馒头,正在吃第2个馒头
张飞喜欢吃馒头,正在吃第3个馒头
张飞喜欢吃馒头,正在吃第4个馒头
张飞终于吃完了

上面还有个小问题,就是张飞会吃第0个馒头,所以我们在上面的基础上再次优化一下

name='张飞'
for i in range(5):
    print('{}喜欢吃馒头,正在吃第{}个馒头'.format(name,i+1))
print('{}终于吃完了'.format(name))
张飞喜欢吃馒头,正在吃第1个馒头
张飞喜欢吃馒头,正在吃第2个馒头
张飞喜欢吃馒头,正在吃第3个馒头
张飞喜欢吃馒头,正在吃第4个馒头
张飞喜欢吃馒头,正在吃第5个馒头
张飞终于吃完了

方法2:range指定起始值

range(1,6)    表示:指定起始值为1,范围为1-5
name='张飞'
for i in range(1,6):
    print('{}喜欢吃馒头,正在吃第{}个馒头'.format(name,i))
print('{}终于吃完了'.format(name))
张飞喜欢吃馒头,正在吃第1个馒头
张飞喜欢吃馒头,正在吃第2个馒头
张飞喜欢吃馒头,正在吃第3个馒头
张飞喜欢吃馒头,正在吃第4个馒头
张飞喜欢吃馒头,正在吃第5个馒头
张飞终于吃完了

循环中嵌套判断

要求:有5个馒头,但是第三个馒头有鹤顶红不能让他吃

name='张飞'
for i in range(1,6):
    if i==3:
        print('{}赶快扔掉第{}个馒头,第{}个馒头有剧毒:鹤顶红!'.format(name,i,i))
    else:
        print('{}喜欢吃馒头,正在吃第{}个馒头'.format(name,i))
print('{}终于吃完了'.format(name))
张飞喜欢吃馒头,正在吃第1个馒头
张飞喜欢吃馒头,正在吃第2个馒头
张飞赶快扔掉第3个馒头,3个馒头有剧毒:鹤顶红!
张飞喜欢吃馒头,正在吃第4个馒头
张飞喜欢吃馒头,正在吃第5个馒头
张飞终于吃完了

让用户自己输入循环次数

name = '张飞'
num = int(input('请输入需要的馒头数量:'))
for i in range(num):
    print('{}喜欢吃馒头,正在吃第{}个馒头'.format(name,i+1))
else:
    print('没有馒头啦,{}饿哭啦'.format(name))
请输入需要的馒头数量:19
张飞喜欢吃馒头,正在吃第1个馒头
张飞喜欢吃馒头,正在吃第2个馒头
张飞喜欢吃馒头,正在吃第3个馒头
张飞喜欢吃馒头,正在吃第4个馒头
张飞喜欢吃馒头,正在吃第5个馒头
张飞喜欢吃馒头,正在吃第6个馒头
张飞喜欢吃馒头,正在吃第7个馒头
张飞喜欢吃馒头,正在吃第8个馒头
张飞喜欢吃馒头,正在吃第9个馒头
张飞喜欢吃馒头,正在吃第10个馒头
张飞喜欢吃馒头,正在吃第11个馒头
张飞喜欢吃馒头,正在吃第12个馒头
张飞喜欢吃馒头,正在吃第13个馒头
张飞喜欢吃馒头,正在吃第14个馒头
张飞喜欢吃馒头,正在吃第16个馒头
张飞喜欢吃馒头,正在吃第17个馒头
张飞喜欢吃馒头,正在吃第18个馒头
张飞喜欢吃馒头,正在吃第19个馒头
没有馒头啦,张飞饿哭啦

19个馒头,吃死你个王八蛋!

三、for循环在列表中的用法

1.遍历

使用for循环遍历整个列表:

info=["xiaoming","23years","2000","male"]
for a in info:
	print(a)    #注意是for循环的一部分要缩进


输出结果:

xiaoming
23years
2000
male

新建列表并自动赋值:也是使用for循环,但是可以直接使用列表解析,列表解析是将for循环和创建新元素合并在一个语句完成,一个语句。

实例1:

info=[print(a) for a in range(1,6)]

运行结果:
1
2
3
4
5

实例2:

info=[ab for ab in range(1,6)]
print(info)

运行结果:
[1, 2, 3, 4, 5]

2.切片

使用脚标索引对列表进行切片,得到我们需要的列表片段

info=["xiaoming","23years","2000","male"]
a=info[0:2]
print(a)

运行结果:
['xiaoming', '23years']

我们注意到,输出的片段也是列表,故而列表切片也是列表。故而对列表的所有操作对切片同样适用,如遍历使用for循环。赋值等

3.复制

使用切片的方式复制一个列表[推荐使用该方法,例如:

info=["xiaoming","23years","2000","male"]
info_copy=info[:]
print(info_copy)

运行结果:
['xiaoming', '23years', '2000', 'male']

使用:b=a的赋值方法,这种方法在后面使用需谨慎,因为在任何一个列表后面追加的任何内容都会使得两个列表完全一样;请比较:

实例1

info=["xiaoming","23years","2000","male"]
info_copy=info
print(info)
print(info_copy)

运行结果:
['xiaoming', '23years', '2000', 'male']
['xiaoming', '23years', '2000', 'male']

实例2

info=["xiaoming","23years","2000","male"]
info_copy=info

info.append("ball")                  #对比代码1的添加行
info_copy.append("food")			 #对比代码1的添加行

print(info)
print(info_copy)

运行结果
['xiaoming', '23years', '2000', 'male', 'ball', 'food']
['xiaoming', '23years', '2000', 'male', 'ball', 'food']

显然,这不是我们想要的差异化结果,因为两个列表的内容完全一样了;造成这种结果的原因是:在python中等号是将info赋给info_copy,而不是将info的副本存储到i新的info_copy中,在python中,这个语法实际是将info_copy这个新变量关联包含在info列表中,因此这两个列表其实都指向一个列表

最后

以上就是任性小刺猬为你收集整理的Python循环语句:for循环的用法及对列表的处理的全部内容,希望文章能够帮你解决Python循环语句:for循环的用法及对列表的处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部