当前位置: 首页 > 工具软件 > FORC > 使用案例 >

python之列表推导式:c for b in a的代码形式理解

叶声
2023-12-01

直接上代码可能更直观点:

y= [x*x for x in range(10)]
print(y)

输出的是一个列表:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

这段代码类似的就是:

for x in range(10):
    print(x*x)

 

列表推导公式:c for b in a : 

首先for b in a 很好理解:我们从a里面取出每一个迭代对象b。

然后我们对这个b进行c操作,并且以c操作后的形式输出一个列表。

所以上例实现的就是输出一个从0~99的平方数的列表。

 

按照这个理解,我们同样也可以遍历生成一个2D坐标数。

t=  [(x,y) for x in range(2) for y in range(3)]
print(t)

输出的就是:

[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]

和上述一致,这段代码类似的就是

t=[]
for x in range(2):
    for y in range(3):
        t.append((x,y))
print(t)

 

从右往左看,首先y取0值,往左边走,x此时取值为0,在往左边走,就直接输出(x,y)也就是(0,0)了

 

第二次,y取值为1,x此时不变(等y变完才会改变)....以此类推

这类写法都是为了代码更简洁的,想要代码更好看一点最好试着这么写啦~

 类似资料: