当前位置: 首页 > news >正文

python基础语法 004-2流程控制- for遍历

1 遍历

1.1 什么是遍历?

  • 可以遍历的元素:字符串、列表、元组、字典、集合
  • 字符串是可以进行for 循环。(容器对象,序列)
  • 可迭代对象iterable

例子:

1 )、for遍历字符串:

name ='xiaoming'
for e in name:print(e)-------------------结果------------
x
i
a
o
m
i
n
gProcess finished with exit code 0

2 )、for循环遍历列表

#播放歌曲
songs = ['晴天', '花海', '新地球', '雨爱', '舞娘', '逆战']
print("正在播放歌曲:{}".format(songs[0]))
print("正在播放歌曲:{}".format(songs[1]))
print("正在播放歌曲:{}".format(songs[2]))#怎么顺序播放song
#for循环,遍历,迭代,是字典播放所有列表(序列)当中的元素
#element 代表通过变量element接受songs的每一个元素
for element in songs:#print(element)print("正在播放的歌曲:{}".format(element))------------结果------------------
正在播放的歌曲:晴天
正在播放的歌曲:花海
正在播放的歌曲:新地球
正在播放的歌曲:雨爱
正在播放的歌曲:舞娘
正在播放的歌曲:逆战
#遍历列表其他用法
dalao = ['q', 'ee', 'aaa']
for i in dalao[1:]:print(i)#对字符串进行foe循环,打印每一个字符
for i in dalao[1]:print(i)----结果----------------------
ee
aaa
e
e

3)、for遍历字典

#元组可不可以使用循环,可以
#字典可不可以使用for循环?
#对字典使用for循环,取到的默认是所有的keyname = {"name":"xiaoho", "age":16, "hobby":"coding"}
for i in name:print(i)#取所有的值?
for i in name.values():print(i)
#或:
for i in name:print(name[i])#取所有的值:
for key, value in name.items():print("key:{}, values:{}".format(key,value))----------------------结果--------------------
name
age
hobby
xiaoho
16
coding
xiaoho
16
coding
key:name, values:xiaoho
key:age, values:16
key:hobby, values:codingProcess finished with exit code 0

4) 、for遍历集合

my = {'a', 'b', 'c'}
for i in my:print(i)-----------结果 ------------
#每次打印出来的可能不一样
b
c
a

1.2  for_list实现逻辑

#index = 0
songs = ['晴天', '花海', '新地球', '雨爱', '舞娘', '逆战']
for song in songs:#song = '晴天' ===> 索引为0 song[0]print("正在播放的歌曲{}".format(song))#把索引 + 1的逻辑在里面#index += 1#song  '花海' =====>song[1]

 可以使用Debug for 来来查看for遍历实现的过程

1.3 for循环的嵌套

A、 两个不同列表嵌套

#嵌套
dalaos = ["xiaoming","apple"]
songs = ['晴天', '花海', '新地球', '雨爱', '舞娘', '逆战']
for song in songs:for dalao in dalaos:print("song:{}, dalao:{}".format(song, dalao))-------------结果-----------
song:晴天, dalao:xiaoming
song:晴天, dalao:apple
song:花海, dalao:xiaoming
song:花海, dalao:apple
song:新地球, dalao:xiaoming
song:新地球, dalao:apple
song:雨爱, dalao:xiaoming
song:雨爱, dalao:apple
song:舞娘, dalao:xiaoming
song:舞娘, dalao:apple
song:逆战, dalao:xiaoming
song:逆战, dalao:appleProcess finished with exit code 0

B、在嵌套列表取元素:

#for 嵌套列表
my_list = [['无名之辈','雨爱'],['景天', '晴天'],['新地球', "新月球"],['巧克力', "蛋黄派"]]
for group in my_list:# 每个组的列表展示print(group)for name in group:print(name)-------------结果----------------
['无名之辈', '雨爱']
无名之辈
雨爱
['景天', '晴天']
景天
晴天
['新地球', '新月球']
新地球
新月球
['巧克力', '蛋黄派']
巧克力
蛋黄派

C、在列表中获取字典:

cases = [{"url" : "http://", "method": "get"},{"url" : "http://examle", "method": "post"}
]for case in cases:# {"url" : "http://", "method": "get"}for key, value in case.items():print(key, value)---------------结果-----------
url http://
method get
url http://examle
method post

1.4 自定义列表

#for循环是循环一个指定的列表
#没有列表可以使用
#打印1-9
#for i in [1,2,3,4,5,6,7,8,9]:
for i in range(1, 10):print(i)for i in range(1, 12, 3):print(i)

 九九乘法表编写

#九九乘法表
for i in range(1, 10):for j in range(1,10):k = i * jprint("i * j = {} * {} = {}".format(i, j, k))

 每执行一个循环进行打印编辑器都会自动换行,怎么让其不换行?

#怎么让其不每执行一个循环就换行
for i in range(1, 10):print(i, end = ',')------------------结果 --------
1,2,3,4,5,6,7,8,9,

1.5 例子,九九乘法表 

方法一:

#九九乘法表 按顺序排列,方法一
for i in range(1, 10):for j in range(1, 10):if j <= i: print("{} * {} = {}".format(i, j, i * j), end = '\t')print()----------结果-----------------
1 * 1 = 1	
2 * 1 = 2	2 * 2 = 4	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25	
6 * 1 = 6	6 * 2 = 12	6 * 3 = 18	6 * 4 = 24	6 * 5 = 30	6 * 6 = 36	
7 * 1 = 7	7 * 2 = 14	7 * 3 = 21	7 * 4 = 28	7 * 5 = 35	7 * 6 = 42	7 * 7 = 49	
8 * 1 = 8	8 * 2 = 16	8 * 3 = 24	8 * 4 = 32	8 * 5 = 40	8 * 6 = 48	8 * 7 = 56	8 * 8 = 64	
9 * 1 = 9	9 * 2 = 18	9 * 3 = 27	9 * 4 = 36	9 * 5 = 45	9 * 6 = 54	9 * 7 = 63	9 * 8 = 72	9 * 9 = 81	Process finished with exit code 0

 方法二:

#方法二
for i in range(1, 10):for j in range(1, i +1):print("{} * {} = {}".format(i, j, i * j), end='\t')print()

http://www.lryc.cn/news/388800.html

相关文章:

  • 【高考志愿】医学
  • 音视频开发31 FFmpeg 编码- avcodec_find_encoder和avcodec_find_encoder_by_name
  • 大模型压缩:基于贝叶斯优化的自适应低秩分解
  • 【Python函数编程实战】:从基础到进阶,打造代码复用利器
  • ZooKeeper 应用场景深度解析
  • 动手学深度学习(Pytorch版)代码实践 -计算机视觉-41目标检测数据集
  • 2.2章节python的变量和常量
  • 豆包文科成绩超了一本线,为什么理科不行?
  • Java多线程编程实践中的常见问题与解决方案
  • WebStorm配置路径别名(jsconfig.json)
  • [吃瓜教程]南瓜书第4章决策树
  • Redis 面试题完整指南:深度解析基础、进阶与高级功能
  • spring 枚举、策略模式、InitializingBean初使化组合使用示例
  • 嵌入式学习——硬件(IIC、ADC)——day56
  • vCenter VXR01405C ALARM Certificate is about to expire
  • 安装和微调大模型(基于LLaMA-Factory)
  • 使用docker搭建squid和ss5
  • 大数据面试题之Flink(1)
  • 策略模式、工厂模式和模板模式的应用
  • 在postman中调试supabase的API接口
  • 微信小程序毕业设计-英语互助系统项目开发实战(附源码+论文)
  • 【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第49课-机器人自动跳舞
  • 【LLM教程-llama】如何Fine Tuning大语言模型?
  • PHP 比 Java 的开发效率高在哪?
  • 高德定位获取详细位置失败的处理方法
  • PX2平台Pytorch源码编译
  • 昇思25天学习打卡营第6天|简单的深度学习模型实战 - 函数式自动微分
  • 基于Linux的云端垃圾分类助手
  • 【PYG】Planetoid中边存储的格式,为什么打印前十条边用edge_index[:, :10]
  • 【知识图谱系列】(实例)python操作neo4j构建企业间的业务往来的知识图谱