python_列表推导式的使用和嵌套规律

文章目录

使用

列表推导式适合在比较熟练的情况下使用,且不宜过长,如果逻辑过长,会导致可读性降低,同时不利于调试的进行
比如在filter中使用,以筛选素数:

# %%
#filter(bool_function,iterable_sequence)
def bool_fuc(x:int)->bool:
    if x==0 or x==1:
        return False
    for i in range(2,x):
        if x%i==0:
            return False
    return True

prime=filter(bool_fuc ,range(3,70))

print(list(prime))

嵌套规律

# 列表推导式中循环嵌套的规律:
#(观察打印结果中变化最快(最频繁的变量:
#(该变量对应的for就嵌套在最深层)))
L = [(x, y, z) for x in range(3)
     for y in range(5) for z in range(-7, -1)]
# print(L)
for item in L:
    print(item)
''' 相当于:
'''
def verify():
    for x in range(3):
        for y in range(5):
            for z in range(-7, -1):
                print((x+1, y+0.1, z+1))

# %%
verify()
(0, 0, -7)
(0, 0, -6)
(0, 0, -5)
(0, 0, -4)
(0, 0, -3)
(0, 0, -2)
(0, 1, -7)
(0, 1, -6)
(0, 1, -5)
(0, 1, -4)
(0, 1, -3)
(0, 1, -2)
(0, 2, -7)
(0, 2, -6)
(0, 2, -5)
(0, 2, -4)
(0, 2, -3)
(0, 2, -2)
(0, 3, -7)
(0, 3, -6)
(0, 3, -5)
(0, 3, -4)
(0, 3, -3)
(0, 3, -2)
(0, 4, -7)
(0, 4, -6)
(0, 4, -5)
(0, 4, -4)
(0, 4, -3)
(0, 4, -2)
(1, 0, -7)
(1, 0, -6)
(1, 0, -5)
.....
posted @ 2024-08-21 16:48  xuchaoxin1375  阅读(23)  评论(0)    收藏  举报  来源