python基础_推导式和生成器函数

1.列表推导式

# ### 推导式 : 用一行循环判断遍历出一系列数据的方式
'''语法:val for val in Iterable 把需要的值放到for循环的左侧'''
#范例

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

 

2.生成器

#生成器本质是迭代器,允许自定义逻辑的迭代器

#迭代器和生成器区别:
    迭代器本身是系统内置的.重写不了.而生成器是用户自定义的,可以重写迭代逻辑

#生成器可以用两种方式创建:
    (1)生成器表达式  (里面是推导式,外面用圆括号)
    (2)生成器函数    (用def定义,里面含有yield)

3.字典推导式,快速转化为字典

# 1.通过enumerate 变成字典推导式,字典推导式
dic = {k:v for k,v in  enumerate(listvar,start=1) }
print(dic)

# 2.通过dict 瞬间强转迭代器变成字典  
dic = dict( enumerate(listvar,start=1) )
print(dic)
原文地址:https://www.cnblogs.com/jalen-123/p/13173735.html