1. 推导式(列表推导式、集合推导式、字典推导式)

day12-Python运维开发基础(推导式、生成器与生成器函数)

 

 

# ### 推导式 : 通过一行循环判断,遍历出一系列数据的方式是推导式
"""
推导式一共三种:
    列表推导式,集合推导式,字典推导式
    [val for val in Iterable]
    {val for val in Iterable}
    {a:b for a,b in iterable}
"""

# (1)单循环的推导式
"""[1,2,3,4,5,6,7,8 ...  50]"""
lst = []
for i in range(1,51):
    print(i)
    lst.append(i)
print(lst)

# 改写成推导式
lst = [val for val in range(1,51)]
print(lst)

# (2)带有判断条件的单循环推导式 [判断条件只能是单项分支,其他的不可以]
"""[1,2,3,4,5,6,7,8 ...  50] 要所有的偶数"""
lst = []
for i in range(1,51):
    if i % 2 == 0:
        lst.append(i)
print(lst)

# 改写成推导式 
lst = [i for i in range(1,51) if i % 2 == 0]
print(lst)

# (3)多循环推导式 "谁❤谁"
lst1 = ["常远","皮得意","纸质红"]
lst2 = ["李德亮","林明辉","陈佳琪"]
lst_new = []
for i in lst1:
    for j in lst2:
        strvar = i + "" + j
        lst_new.append(strvar)
print(lst_new)

# 改写成推导式 
lst = [i + "" + j  for i in lst1 for j in lst2]
print(lst)

# (4)带有判断条件的多循环推导式
lst1 = ["常远","皮得意","纸质红"]
lst2 = ["李德亮","林明辉","陈佳琪"]
lst_new = []
for i in lst1:
    for j in lst2:
        if lst1.index(i) == lst2.index(j):
            strvar = i + "" + j
            lst_new.append(strvar)
print(lst_new)            

# 改写成推导式 
lst = [i + "" + j for i in lst1 for j in lst2 if lst1.index(i) == lst2.index(j)]
print(lst)
推导式 示例代码

相关文章: