python教程(五)之语句(5.循环与迭代)

阅读前提示,如果对你有帮助,请给在下点个赞或加个关注,收藏也行 \()/

循环,for与while,还记得之前说过的迭代吗,这里将会正式介绍

1.while

a=0
b=[]
while a<100 :
    # print(a)
    b.append(a)
    a+=1 
#这样我们能输出0-99一共100个数字,试想一下如果不用循环,这将是多么困难
#可以看出while的判断条件就是后面的运算符结果,这里先做个介绍,后面会为你加深印象

2.for

#看到上面的b了吧,我顺便将100个数字存入了列表b中
#接下来我们给每一个元素都加1
for numB in b :
    b[numB]+=1
print(b[0])#1 原先的b[0]是0
#这里你们可以试试字符串

#来讲讲迭代是什么,基本上,可迭代的对象是可使用for循环进行遍历的对象
#这就是迭代的定义,上面我们对b中的元素进行的操作就可被称作迭代
for a1 in list(range(0,10)) :
    print(a1)#输出0到9
#range(起始数字,终止数字,步长),如果用list化后会变为一个数字组成的列表
#起始数字默认是0,可以不用输入,步长默认是1,也不用输入,但可以根据需要修改

#有一点要注意,修改迭代时的item不能改变items,一定要想办法直接修改items

3.迭代字典

c={}
for numC in b :
    c.setdefault("c"+str(numC),numC)
# print(c)#这里我们就得到了一个c1到c100为键,1-100为值得字典
for cKey,cVal in c.items() :#键,值 in 字典.items()可以获取到字典的键和值
    # print(cKey,"value is",cVal)#这样我们就实现了对字典c的迭代
    pass
#这里就说明一下,pass是用来充当占位符的,你可以在未写完代码的地方放上pass
#因为像循环这种语句,如果没有执行任何操作是不行的

4.并行迭代

d={}
dName=["Bob","Harry","Lily"]
dNum=[33,19,80]
for dKey in range(len(dName)) :
    d.setdefault(dName[dKey],dNum[dKey])
print(d)#{'Bob': 33, 'Harry': 19, 'Lily': 80}
#一个很有用的并行迭代工具是内置函数zip,它会将两个序列像上面那样组合起来
dZip=list(zip(dName,dNum))
for name,num in dZip :
    print(name,"number is",num)
# Bob number is 33
# Harry number is 19
# Lily number is 80

5.迭代时的索引

#在一些情况下,你需要在迭代对象序列的同时获取当前对象的索引
#首先最好不要用items.index(item)这种方式
#一种内置函数是很好的解决办法
index=0
eStrs=["This is XXX,","XXX is YYY"]

for index,eStr in enumerate(eStrs) :#迭代索引-值对
    if "XXX" in eStr :
        eStrs[index]="[XXX]"
print(eStrs)#['[XXX]', '[XXX]'] 这里将所有包含XXX的字符串都换成了[XXX]

6.反向迭代

#与列表中的sort和reverse一样,都是对序列进行顺序上的重新排列
print(sorted([4,3,1,6,6,7,1]),list(reversed([4,3,1,6,6,7,1])))#[1, 1, 3, 4, 6, 6, 7] [1, 7, 6, 6, 1, 3, 4]
print(sorted("Hello World!"),list(reversed("Hello World!")))
#[' ', '!', 'H', 'W', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r'] ['!', 'd', 'l', 'r', 'o', 'W', ' ', 'o', 'l', 'l', 'e', 'H']

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值