python for in函数怎么用_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环...

一、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.comzhihu-card-default.svg老树Python:一步一步学Python3(小学生也适用) 第十五篇:条件判断​zhuanlan.zhihu.comv2-b4a8ad2c04f5b33840e92e72a96fea6e_180x120.jpg老树Python:一步一步学Python3(小学生也适用) 第十四篇: 集合Set类型​zhuanlan.zhihu.comv2-37f466916d3a17b48bfc5e0edcc12f9f_180x120.jpg老树Python:一步一步学Python3(小学生也适用) 第十三篇: 字典Dict类型​zhuanlan.zhihu.comzhihu-card-default_ipico.jpg老树Python:一步一步学Python3(小学生也适用) 第十二篇: 元组tuple类型​zhuanlan.zhihu.comv2-c819697a79657a10de7a7b4c0eb6bdaf_180x120.jpg

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值