推导式创建序列:推导式是一个或多个迭代器快速创建序列的一种方法

  1. 列表推导式

列表推导式生成列表对象,语法如下

[表达式 for 变量 in 可迭代对象]

或者[表达式 for 变量 in 可迭代对象 if 条件判断]

例如:

y = [x for x in range(1, 5)] print(y)

  1. 字典推导式

字典的推导式生成字典对象,格式如下

{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)

  1. 集合推导式

集合推导式生成集合,和列表推导式类似,语法如下

{表达式 for 变量 in 可迭代对象}

或者{表达式 for 变量 in 可迭代对象 if 条件判断}

例如:

y = {x for x in range(1, 5)} print(y)

  1. 生成器推导式(生成元组)

一个生成器只能运行一次,返回的是一个生成器对象,元组是没有推导式的

语法格式如下:

(表达式 for 变量 in 可迭代对象)

返回

at 0x000000000296B510>

需要使用for进行再次遍历才能返回元组

例如:y = (x for x in range(1, 5)) for x in y:     print(x)