推导式创建序列:推导式是一个或多个迭代器快速创建序列的一种方法
- 列表推导式
列表推导式生成列表对象,语法如下
[表达式 for 变量 in 可迭代对象]
或者[表达式 for 变量 in 可迭代对象 if 条件判断]
例如:
y = [x for x in range(1, 5)] print(y)
- 字典推导式
字典的推导式生成字典对象,格式如下
{key:value for 变量 可迭代对象}
或者{key:value for 变量 可迭代对象 if 条件判断}
例如:
x = 'my_name is zhang_san,my_name is li_si,my_name is wan_wu' y = {c: x.count(c) for c in x} print(y)
- 集合推导式
集合推导式生成集合,和列表推导式类似,语法如下
{表达式 for 变量 in 可迭代对象}
或者{表达式 for 变量 in 可迭代对象 if 条件判断}
例如:
y = {x for x in range(1, 5)} print(y)
- 生成器推导式(生成元组)
一个生成器只能运行一次,返回的是一个生成器对象,元组是没有推导式的
语法格式如下:
(表达式 for 变量 in 可迭代对象)
返回
at 0x000000000296B510>
需要使用for进行再次遍历才能返回元组
例如:y = (x for x in range(1, 5)) for x in y: print(x)