python7学习笔记-循环、迭代、pass

九九乘法表-while循环

right = 1
while right <= 9:
    left = 1
    while left <= right:
        print(f'{left}x{right}={left * right}',end='\t')
        left += 1
    print()

    right += 1
#=============================================
#效果:
#1x1=1	
#1x2=2	2x2=4	
#1x3=3	2x3=6	3x3=9	
#1x4=4	2x4=8	3x4=12	4x4=16	
#1x5=5	2x5=10	3x5=15	4x5=20	5x5=25	
#1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	
#1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	
#1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	
#1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81	

for循环

for 变量 in 可迭代对象:

        循环体

enumerate(iterable,start = 0)

  • 枚举
  • 返回一个迭代器对象。迭代它会得到一个个元组,每个元组是由索引和对应元素构成。
  • start决定了索引的起始值。
string = 'dfadg'
enu = enumerate(string) # 返回一个迭代器
print(list(enu))
#输出结果
#[(0, 'd'), (1, 'f'), (2, 'a'), (3, 'd'), (4, 'g')]

str2 = '🐱🐱🐕🐕'
for i in enumerate(str2):
    print(i,end=' ')
#输出结果
#(0, '🐱') (1, '🐱') (2, '🐕') (3, '🐕') 

for...in...else...

lst = [4, 3, 8, 532, 1]
for i in lst:
    print(i,end=' ')
    if i > 5:
        break
    else:
        print('🐱',end=' ')
#输出结果
#4 🐱 3 🐱 8 

break

  • 终止所在的循环

continue

  • 跳过当前这次循环,继续到下一次循环
  • for i in range(1, 11):
        if i % 2 == 0:
            continue # 若if成立,则直接跳到for
        else:
            print(i,end=' ')
    #输出结果
    #1 3 5 7 9 

列表推导式

  • 格式:语句 for 子句
  • 列表推导式
lst = [x ** 2 for x in range(8)]
print(lst)
#[0, 1, 4, 9]

迭代问题

  • 列表迭代问题

        列表内存自动管理:Python的列表会自动管理内容,当对列表插入元素或者删除元素时,列表会移动其中的元素以保证元素之间是连续的。

lst1 = [1, 2, 3]

for i in lst1:
    lst1.remove(i)

print(lst1)# [2],remove过程原列表的下标改变了

lst2 = ['a', 'b', 'd', 'f']
new_lst = lst2.copy()

for i in new_lst:
    lst2.remove(i)
print(lst2)#[]

字典、集合迭代问题

  • 字典、集合在迭代时,不允许改变元数据的size
#字典迭代
info_Magic = {'Academy' : 'Gryffindor','name' : 'HarryPotter','grade' : 1}
#for循环输出键
for k in info_Magic:
    print(k, end=' ') #Academy name grade
print()

#会报错
# for k in info_Magic:
#     del info_Magic[k]
#     print(info_Magic) #RuntimeError: dictionary changed size during iteration

new_d = info_Magic.copy()
for k in new_d:
    del info_Magic[k]
    print(info_Magic)
'''
for循环输出结果:
{'name': 'HarryPotter', 'grade': 1}
{'grade': 1}
{}
'''

pass语句

  • pass是一个关键字,表示一个空语句,当它被执行时,不做任何操作,通常用占位符,用在当语法上需要语句但实际不需要执行任何操作的情况下使用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白的程序空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值