for 循环

特指用于遍历容器类型数据,(遍历 循环 迭代 都是一个意思)就是把所有的数据一个一个拿出来的过程, while循环有局限性,不能遍历无序容器数据

setvar = {"a","b","c","d"}
i = 0
length = len(setvar)
while i<=length:
print(setvar[i])
i+=1

set类型不支持

for循环语法

for i in 可迭代性数据:
把可迭代性数据中的值一个一个拿出啦赋值给i,到最后没有值可以拿了,循环终止.

修改上述脚本

setvar = {"a","b","c","d"}
for i in setvar:
print (i)

执行测试

[root@node10 python]# python3 test.py
b
a
c
d

遍历字符串

setvar = "窗前明月光"
for i in setvar:
print (i)

执行

[root@node10 python]# python3 test.py




遍历列表

listvar = [1,2,3,4,5]
for i in listvar:
print (i)

执行

[root@node10 python]# python3 test.py
1
2
3
4
5

遍历元组

tuplevar = (6,7,8,7)
for i in tuplevar:
print(i)

执行

[root@node10 python]# python3 test.py
6
7
8
7

遍历字典

在遍历字典的时,默认遍历的是键,不是值

dictvar = {'a':1,'b':2,'c':3}
for i in dictvar:
print(i)

执行

[root@node10 python]# python3 test.py
a
b
c

range的用法  返回一个可迭代的对象

range(start,end,step)
start 代表开始值
end 代表结束值 但是高位取不到,取到之前的一个值
step 步长

举例

# 只有一个参数的情况:
for i in range(8): # 0 ~7
print(i)
# 有2个参数的情况
for i in range(5,8): # 5 6 7
print(i) # 有3个参数逇情况 (正序)
for i in range(1,11,3):#
print(i)
print("<==>")
# 倒序
for i in range(9,0,-1):
print(i)

执行

[root@node10 python]# python3 test.py
0
1
2
3
4
5
6
7
5
6
7
1
4
7
10
<==>
9
8
7
6
5
4
3
2
1

容器,列表等的取值举例

# 二级容器
lst = [1,2,3,(4,5,6)]
# res = lst[-1]
# res = res[-1]
# print(res,"<22>")
print(lst[-1][-1],"容器")
# 二级列表
listvar = [4,5,6,[77,88]] # 二级元组
tuplevar = (1,2,3,(5,6,7)) # 二级字典
dic = {"a":1,"b":{"c":1,"d":2}}
print(dic["b"]["d"],"字典") # 二级集合 : 集合中的数据必须是可哈希的数据(不可变的数据)
set1 = {1,2,3,4,(1,2,3)} # 四级容器
lst = [1,2,3,4, [5,6,(11,123,{"c":22,"f":33},34),7,8] ]
# 找出33
res = lst[-1][2][-2]["f"]
print(res,"四级容器")

执行

[root@node10 python]# python3 test.py
6 容器
2 字典
33 四级容器

变量的解包操作

a,b = 1,2
c,d = [5,6]
print(a,b,c,d)
执行
[root@node10 python]# python3 test.py
1 2 5 6

遍历等长二级容器

里面的元素是容器数据,容器里面的元素个数相同

listvar =[ ["我","my"], ["你","you"],["他","he"]]
# a,b = ["我","my"] # 变量的解包操作
for a,b in listvar:
print(a,b)

执行

[root@node10 python]# python3 test.py
我 my
你 you
他 he

如果不等长

listvar =[ ["我","my"], ["你","you"],["他"]]
# a,b = ["我","my"] # 变量的解包操作
for a in listvar:
for b in a:
print(b) #一个一个取

执行

[root@node10 python]# python3 test.py

my

you

008.Python循环for循环的更多相关文章

  1. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  2. python基础(六)循环

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序 ...

  3. Python之 for循环\while循环

    list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] print ...

  4. Python进阶06 循环对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 这一讲的主要目的是为了大家在读Python程序的时候对循环对象有一个基本概念. 循 ...

  5. Python进阶05 循环设计

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一 ...

  6. python 循环、循环设计、循环对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 1.循环 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进 ...

  7. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  8. [Python笔记][第三章Python选择与循环]

    1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...

  9. 一步一步学python(五) -条件 循环和其他语句

    1.print 使用逗号输出 - 打印多个表达式也是可行的,但要用逗号隔开 >>> print 'chentongxin',23 SyntaxError: invalid synta ...

  10. Python数据结构与循环语句

    # Python数据结构与循环语句:   首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟.  关于买书: 学会python之后,才需要买书 ...

随机推荐

  1. Apache Hudi 0.8.0版本重磅发布

    1. 重点特性 1.1 Flink集成 自从Hudi 0.7.0版本支持Flink写入后,Hudi社区又进一步完善了Flink和Hudi的集成.包括重新设计性能更好.扩展性更好.基于Flink状态索引 ...

  2. MySQL数据库高级一:架构介绍

    两天半就可以 严禁使用 精通 在简历上 了解的越多,越比他人有优势 linux的mysql需要使用中文字符集那么就要修改配置文件 1.mysql的linux版 安装和卸载不说了 2.逻辑架构 总体概况 ...

  3. CppCon 2019 | Back to Basics: RAII and The Rule of Zero

    本文整理了Arthur O'Dwyer在CppCon 2019上关于RAII的演讲,演讲的slides可以在此链接进行下载. 在C++程序中,我们往往需要管理各种各样的资源.资源通常包括以下几种: A ...

  4. Go-14-解决 go get golang.org/x/text 拉取失败问题

    现象 在执行go get -v github.com/spf13/cobra/cobra 时,报go get golang.org/x/text 拉取失败问题 解决方法: 在 ${gopath}/sr ...

  5. 10. Vue-Vue 的{{}}、v-html、v-text

    {{ }} 将元素当成纯文本输出 v-html v-html会将元素当成HTML标签解析后输出 v-text v-text会将元素当成纯文本输出 代码: <!DOCTYPE html> & ...

  6. JAVAEE_Servlet_08_HTTP状态码以及错误页面设置

    HTTP协议状态码 * HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用, HTTP状态码共分为5种类型: - 1** 信息,服务器收到请求,需要请求者 ...

  7. 996. Number of Squareful Arrays

    Given an array A of non-negative integers, the array is squareful if for every pair of adjacent elem ...

  8. Linux 服务管理的两种方式service和systemctl

    service命令 service命令其实是去/etc/init.d目录下,去执行相关程序 ``` # service命令启动redis脚本 service redis start # 直接启动red ...

  9. 【ElasticSearch】索引重建

    ElasticSearch索引重建 ElasticSearch索引一旦建立,便不可修改索引字段类型(允许增加或者删除该字段) 例如从Integer类型修改为long类型,这是不被允许的,错误信息如下: ...

  10. Redhat中网络启动错误解决办法( Failed to start LSB: Bring up/down networking RTNETLINK answers: File exists)

    关于Redhat系列中网络启动失败的解决办法 报错: Failed to start LSB: Bring up/down networking.             RTNETLINK answ ...