python如何使用循环_Python基础——如何使用循环,python,怎么,玩儿

这是本人在学习中的一些记录,只是针对自己的情况做记录,起到回顾,提醒的作用。

1. for循环

1.1 Python中的for不同于C语言中的形式

C语言中的for循环:

for(i=0;i<10;i++){

print(i)

}

在Python中for是这样的:

s="good"

for i in s:

print(i,end=' ')

这就体现了Python是面向对象的。对for的使用定义如下:

for 迭代变量 in 可迭代对象:

代码块

如果我们要实现上述C语言的代码,就需要使用range()函数——

for i in range(0,10):

print(i,end = ' ')

同样在使用对象时,也可以利用它的下标来操作——

s="good"

for i in range(len(s)):

print(s[i],end=' ')

1.2 for循环中使用字典型变量

dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}

for key, value in dic.items():

print(key, value, sep=':', end=' ') # a:1 b:2 c:3 d:4

当然也可以分开使用,用字典的键值或者内容

dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}

for key in dic.keys():

print(key, end=' ') # a b c d

for value in dic.values():

print(value, end=' ') # 1 2 3 4

1.3for循环中使用enumerate()函数

enumerate(sequence, [start=0])

sequence – 一个序列、迭代器或其他支持迭代对象

start – 下标起始位置

返回 enumerate(枚举) 对象,该对象包含元素内容以及相应的下标

在使用enumerate()函数时,可以自定义元素内容的起始位置,这便是使用枚举函数的一个优势

s = ['good','very good','lucky']

for i,a in enumerate(s,1):

print(i,a,sep=':')

2.循环后可以跟一个 else

for——else

或者

while——else

我们都需要把它们看作一个整体,在使用break跳出的时候,else后面的内容是不执行的。

for——else:

s="good"

for i in range(len(s)):

print(s[i],end=' ')

else:

print('\n')

print("coming")

while——else:

s="good"

i=0

while i

print(s[i],end=' ')

i+=1

else:

print('\n')

print("coming")

3.推导式

3.1列表推导式

[ expr for value in collection [if condition] ]

在区间[1500,2700]找出能被7和5同时整除的数:

x= [x for x in range(1500,2000) if ( x % 7 == 0) & ( x % 5 == 0 ) ]#使用的是中括号

print(x)

#[1505, 1540, 1575, 1610, 1645, 1680, 1715, 1750, 1785, 1820, 1855, 1890, 1925, 1960, 1995]

构建坐标时的便捷方法

x = [[i, j] for i in range(0, 3) for j in range(0, 3)]

print(x)

# [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]

# [1,0]中的1的下标,x[3][0]。表示第4组的第1个元素

3.2 元组推导式

( expr for value in collection [if condition] )

注意代码中的

tuple

,以及使用的是

小括号

a = (x for x in range(10))

print(a)

# at 0x0000025BE511CC48>

print(tuple(a)) #注意这里的 tuple

# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

在元祖中可以使用迭代器中的next()来推出元素内容

x= (x for x in range(1500,2000) if ( x % 7 == 0) & ( x % 5 == 0 ) )

#print(tuple(x))

print(next(x))

print(next(x))

for e in x:

print(e,end=' ')

#1505

#1540

#1575 1610 1645 1680 1715 1750 1785 1820 1855 1890 1925 1960 1995

3.3 字典推导式

{ key_expr: value_expr for value in collection [if condition] }

注意使用的是

大括号

b = {i: i % 2 == 0 for i in range(10) if i % 3 == 0}

print(b)

# {0: True, 3: False, 6: True, 9: False}

3.4 集合推导式

{ expr for value in collection [if condition] }

注意使用的是

大括号

c = {i for i in [1, 2, 3, 3, 3, 4, 4, 5, 6, 6]}

print(c)

# {1, 2, 3, 4, 5, 6}

参考资料:

1.Datawhale的学习资料——Python编程语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值