• 推导式就是利用range()、元组、列表、字典和集合等数据类型,快速生成一个满足指定要求的列表。
  • 可变数据类型(列表、字典和集合)具有推导式,不可变类型(字符串和元组)则需要使用生成式创建。

    1. 列表推导式

    ```python [表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]] 计算表达式得到的一系列值组成一个列表。

s = [i*i for i in range(5) ] print(s) print(type(s))

  1. <a name="eZaFf"></a>
  2. # 2. 字典推导式
  3. `**{表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]}**`
  4. ```python
  5. print(d)dicts = {name='xiaoming',age=12}
  6. d = {v:k for k,v in dicts.items()}

3. 集合推导式

**{ 表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] }**

  • 字典推导式和集合推导式的格式完全相同,需要根据表达式判断是何种推导式
    1. set1 = {i*2 for i in range(3)}
    2. print(set1)

    4. 元组生成器表达式

    **(表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]) **
    使用元组推导式生成的结果并不是一个元组,而是一个生成器对象
    1. t = (i*i for i in range(5))
    2. print(type(t))