python3循环一直到一个值结束_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环...

21a45ab8a7d82c026b1df0414c8ef3af.png

一、Python for in循环

Python for in 循环,是用来遍历任何数据序列,如一个列表,一个字符串,一个字典,一个元组等。

for in 循环的一般语法如下:

 for  item in 序列:
     语句块
 else:
      语句块

for in 字符串:把每个字符循环出来

 '''字符串:把每个字符循环出来'''
 str1 = '老树Python'
 '''把字符串str1元素进行循环,每循环出一个元素,就把该元素赋值给item'''
 for item in str1:
     print(item)
 运行结果:
 老
 树
 P
 y
 t
 h
 o
 n
 ​

for in 列表:把列表中每个元素循环出来

 '''for in 列表'''
 list1 = ['Python','Java','PHP','C#']
 ​
 ''' 循环list1中的每个元素,然后循环到的元素赋值给item'''
 for item in list1:           
     print(item)
     
 运行结果:
 Python
 Java
 PHP
 C#
 ​

for in 字典:把字典中每对键值循环出来

我们在第十章学习字典时,知道可以通过dict.keys()和dict.values()求得字典的所有key和value.

那么我们可以通过把dict.keys()循环出单个key,然后通过dict['key']来求得key,value对应的值

同时,我们直接 for in dict 循环出来的也是key

 '''for in 字典:遍历key值'''
 ​
 dict1 = {'Lim':'98','Tom':'99','Jim':'89'}
 print('所有keys:',dict1.keys())
 print('for in dict1.keys()')
 for key in dict1.keys():
     print(key + ':' + dict1[key])
 ​
 print('直接for in dict1')
 for key in dict1:
     print(key + ':' + dict1[key])
     
 运行结果:
 所有keys: dict_keys(['Lim', 'Tom', 'Jim'])
 for in dict1.keys()
 Lim:98
 Tom:99
 Jim:89
 直接for in dict1
 Lim:98
 Tom:99
 Jim:89

可以看出上述两个for in 循环运行的结果一致

 '''for in 字典:遍历value'''
 dict1 = {'Lim': '98', 'Tom': '99', 'Jim': '89'}
 print('所有values:', dict1.values())
 ​
 for value in dict1.values():
     print(value)
 ​
 运行结果:
 98
 99
 89

遍历字典键值key,value项

 '''for in 字典:遍历value'''
 dict1 = {'Lim': '98', 'Tom': '99', 'Jim': '89'}
 print('dict1.items是:',dict1.items())
 for kv in dict1.items():           #dict1.items()
     print(kv)

运行结果:

 dict1.items是: dict_items([('Lim', '98'), ('Tom', '99'), ('Jim', '89')])
 ('Lim', '98')
 ('Tom', '99')
 ('Jim', '89')

遍历字典键值

 '''for in 字典:遍历key,value'''
 dict1 = {'Lim': '98', 'Tom': '99', 'Jim': '89'}
 ​
 for key,value in dict1.items():  # dict1.items()
     print(key + ':' + value)
 print('上下两个方法效果是一样的')
 for (key,value) in dict1.items():
     print(key + ':' + value)
 ​

运行的结果:

 Lim:98
 Tom:99
 Jim:89
 上下两个方法效果是一样的
 Lim:98
 Tom:99
 Jim:89

二、range()函数

range()函数为python内置函数,用于生成一系列的连续的整数,其语法格式为:

 range(start,end,step)

注:start指的是计数起始值,默认为0;end指的是计数结束值,但不包括end; step是步长,默认为1,不可以为0.

range()方法生成一段左闭右开的整数范围。

在使用range()函数时,

如果只有一个参数,就表示end,从0开始;

如果有两个参数,就表示start和end.

如果有三个参数,最后一个就表示步长。

它接收的参数必须是整数,可以是负数,但不能是浮点数或其它类型。

range()是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但不能修改元素。

 rg = range(1,8)
 print(rg)
 print(rg[0])
 print(rg[1:4])
 print(rg[:-3])

运行结果:

 range(1, 8)
 1
 range(2, 5)
 range(1, 5)
 rg = range(1,8)
 rg[2]=2                    

运行结果:

  rg[2]=2
 TypeError: 'range' object does not support item assignment

可以看出不支持修改

它会生成数列,这样我们就会可以来遍历数字序列。

 for num in range(6):
     print(num)
 运行结果:
 0
 1
 2
 3
 4
 5

step为-5

 rg = range(-15,-35,-5)
 for num in rg:
     print(num)

运行结果:

 -15
 -20
 -25
 -30

这述这个例子中,大家可以试着把-15改成-65看看运行结果。然后继续再把-5改成5看看运行结果。当看明白改动后的变化,你就明白了,start,end谁大谁小,以及step是正数不是负数。

我们刚才print(range(1,8)),打印出来的结果是: range(1,8),而不是列表类型。

我们可以用list(range(1,8))直接把range()变为list类型

 rg = range(1,8)
 print(rg)
 print(list(rg))

运行的结果:

 range(1, 8)
 [1, 2, 3, 4, 5, 6, 7]

结束语:

这一篇我们学习了for in 循环字符串,列表,字典等。重点在循环字典时,如何取得key,value值等。

同时我们对Python内置函数range()进行了了解。这个函数将在以后的项目中使用得比较多。


原创不易,喜欢就给个赞,点个关注吧!

更多的内容可以关注公众号:老树Python

推荐阅读:

老树Python:一步一步学Python3(小学生也适用) 第十六篇:循环语句While循环​zhuanlan.zhihu.com
zhihu-card-default.svg
老树Python:一步一步学Python3(小学生也适用) 第十五篇:条件判断​zhuanlan.zhihu.com
19933909f4f72bcfe53900233b8f7a47.png
老树Python:一步一步学Python3(小学生也适用) 第十四篇: 集合Set类型​zhuanlan.zhihu.com
547deb29b526562f2704099e0b657edd.png
老树Python:一步一步学Python3(小学生也适用) 第十三篇: 字典Dict类型​zhuanlan.zhihu.com
fe13c53a02cc805fb2176fb51a6ff37f.png
老树Python:一步一步学Python3(小学生也适用) 第十二篇: 元组tuple类型​zhuanlan.zhihu.com
9a62eedde2e3e303c8ca3b7b0c879d2f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值