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

news2024/11/23 16:43:13

1 遍历

1.1 什么是遍历?

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

例子:

1 )、for遍历字符串:

name ='xiaoming'
for e in name:
    print(e)


-------------------结果------------
x
i
a
o
m
i
n
g

Process 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循环,取到的默认是所有的key

name = {"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:coding

Process 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:apple

Process 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 * j
        print("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.coloradmin.cn/o/1883894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu20.04 安装 cudatookit 12.2 + cudnn 安装

最简约的部署Ubuntu20.04深度学习环境的教程 1. 安装Ubuntu20.04 系统 B站详细的安装教程 简约安装版 2. 安装Nvidia显卡驱动 我参考了各种资料&#xff0c;重装系统&#xff0c;完美解决开机显示器黑屏无法进入桌面的情况 黑屏问题主要是由linux内核更新导致&#xff0c;…

携程礼品卡能转出去吗?

携程的卡好像只能在旅游的时候用 像买车票啊&#xff0c;机票啊&#xff0c;酒店&#xff0c;景点门票啥的&#xff0c;但是如果我没有出游计划的话 这个卡是不是就要被闲置下来&#xff1f; 这个问题一直让我感到很苦恼&#xff0c;还好有收卡云&#xff0c;不然我的携程卡…

你还搞不懂串口的格式转换问题吗?

相信大多数人在使用串口传输不同单片机之间的数据时都会运到数据格式怎么对应起来的问题&#xff0c;今天我们就来聊聊&#xff01; 在开始之前我插一个内容&#xff0c;就是不同的单片机之间的电平可能不相同&#xff0c;是不能直接使用杜邦线连接通信的&#xff0c;需要进行电…

centos7搭建zookeeper 集群 1主2从

centos7搭建zookeeper 集群 准备前提规划防火墙开始搭建集群192.168.83.144上传安装包添加环境变量修改zookeeper 的配置 192.168.83.145 和 192.168.83.146 配置 启动 集群 准备 vm 虚拟机centos7系统zookeeper 安装包FinalShell或者其他shell工具 前提 虚拟机安装好3台cen…

私域打造朋友圈秘诀

内容比例把控 朋友圈内容应遵循9:1原则&#xff0c;即90%的人设内容与10%的营销内容。 朋友圈的内容比例非常关键。大部分内容应聚焦在展示个人形象和生活&#xff0c;以此建立信任&#xff0c;而仅有10%的内容用于营销&#xff0c;实现商业价值。 人设内容构建 通过生活圈、工…

从新手到高手:Scala函数式编程完全指南,Scala 数据类型(4)

1、Scala 数据类型 Scala 与 Java有着相同的数据类型&#xff0c;下表列出了 Scala 支持的数据类型&#xff1a;

【鸿蒙学习笔记】基础组件Progress:进度条组件

官方文档&#xff1a;Progress 目录标题 作用最全属性迭代追加进度赋值风格样式 作用 进度条组件 最全属性迭代追加 Progress({ value: 20, total: 100, type: ProgressType.Linear }).color(Color.Green)// 颜色.width(200)// 大小.height(50)// 高度.value(50)// 进度可更…

多域名聊天:TTKefu如何助力企业实现高效沟通与灵活扩展

在当今数字化时代&#xff0c;企业与客户之间的沟通方式已经发生了翻天覆地的变化。随着互联网的普及和移动设备的普及&#xff0c;企业越来越依赖于线上聊天工具来与客户建立联系。而在这个背景下&#xff0c;TTKefu作为一款先进的多域名聊天工具&#xff0c;凭借其强大的功能…

大促前夕即高点,综合电商平台的“稀缺”魔法正在消失?

新一期618大促早已结束良久了&#xff0c;但似乎其产生的余韵却仍旧未消散。 从最直观的资本市场走势来看&#xff0c;自这一波618大促陆续开展之后&#xff0c;包括京东、阿里巴巴、拼多多等港美股股价就一改此前的上行态势&#xff0c;持续下滑至今。 事实上&#xff0c;早…

JAVA各版本-安装教程

目录 Java安装包下载 Java安装步骤 Java环境配置 Java安装包下载 到Oracle官网下载自己需要的版本 Oracle Java下载&#xff1a;Java Archive | Oracle Hong Kong SAR, PRC 下拉选择自己需要的版本&#xff08;本教程以Windows环境下&#xff0c;JAVA11为例&#xff09; 注…

MySQL的简介和安装目录

今日总结到此结束&#xff0c;拜拜&#xff01;

Chapter 8 Feedback

Chapter 8 Feedback 这一章我们介绍feedback 反馈运放的原理. 负反馈是模拟电路强有力的工具. 8.1 General Considerations 反馈系统如下图所示 Aolamp open-loop gain即开环增益. Aolxo/xi β \beta β 是 feedback factor, 注意方向. β x f x o \beta\frac{x_{f}}{x_{o…

香港优才计划真的要烂尾了吗?该如何防止这种情况发生!

香港优才计划真的要烂尾了吗&#xff1f;该如何提前应对避免烂尾&#xff01; 香港优才计划的“烂尾”说法主要源于对大量申请者可能面临的续签和转永居挑战的担忧。虽然2023年申请人数激增&#xff0c;但并非所有获得身份的人都能顺利过渡到永久居留。 以下是几个关键点&…

解析QAnything启动命令过程

一.启动命令过程日志 启动命令bash ./run.sh -c local -i 0 -b hf -m Qwen-1_8B-Chat -t qwen-7b-chat。输入日志如下所示&#xff1a; rootMM-202203161213:/mnt/l/20230918_RAG方向/QAnything# bash ./run.sh -c local -i 0 -b hf -m Qwen-1_8B-Chat -t qwen-7b-chat From …

Vulkan学习——渲染3D模型

摘要&#xff1a;本文简要描述了Vulkan渲染一个3D模型需要做的事情&#xff0c;不会对太细节的内容进行深究。   关键字&#xff1a;Vulkan,Render,3D 源码 1 简介 1.1 Vulkan简介 Vulkan是一个低开销、跨平台的二维、三维图形与计算的应用程序接口&#xff08;API&#x…

RK3568驱动指南|第十五篇 I2C-第166章 初步认识I2C

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

k8s流控平台apiserver详解

一、简单理解认识apiserver 1.主要功能 认证 鉴权 准入 mutating validating admission 限流 2.概念 apiserver保护etcd&#xff0c;缓存机制&#xff0c;有缓存直接返回&#xff0c;没缓存再去查看etcd,apiserver是担任和其他平台同信并认证 3.访问控制概览…

在postman中调试supabase的API接口

文章目录 在supabase中获取API地址和key知道它的restfull风格在postman中进行的设置1、get请求调试2、post新增用户调试3、使用patch更新数据&#xff0c;不用put&#xff01;4、delete删除数据 总结 在supabase中获取API地址和key 首先登录dashboard后台&#xff0c;首页- 右…

InfluxDB时序数据库基本使用介绍

1、概要介绍 1.1、时序数据库使用场景 所谓时序数据库就是按照一定规则的时间序列进行数据读写操作的数据库。它们常被用于以下业务场景&#xff1a; 物联网IOT场景&#xff1a;可用于IOT设备的指标、状态监控数据存取。IT建设场景&#xff1a;可用于服务器、虚拟机、容器的…

专为运维工程师设计!阿里藏经阁出品的Python实战手册被我搞来了

Python 可能是极少数既简单又强大的编程语言中的一种。更重要的是&#xff0c;用它来编程是非常快乐的事。 今天给小伙伴们分享的是阿里“藏经阁”出品的专门给运维工程师设计的Python实战手册 废话不多说&#xff0c;下面把内容展示给大家 01 Python快速回顾 02 Python脚本…