推导式

  • 列表推导式

    • 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体

      >>> my_list = [x for x in [1,2,3,4,5]]
      >>> my_list
      [1, 2, 3, 4, 5]
      ​
      >>> my_list = [x for x in [1,2,3,4,5] if x % 2 == 1]
      >>> my_list
      [1, 3, 5]
      ​
      >>> my_list = [x**x for x in [1,2,3,4,5] if x % 2 == 1]
      >>> my_list
      [1, 27, 3125]
      

        

  • 字典推导式

    # 字典推导式和列表大致一样,只是需要传递两个参数
    >>> my_dict = {key: values for key,values in (('name','dingh'),('age',23))}
    >>> my_dict
    {'name': 'dingh', 'age': 23}
    ​
    >>> my_dict = {key + '_1': values * 5 for key,values in (('name','ding'),('age',23))}
    >>> my_dict
    {'name_1': 'dingdingdingdingding', 'age_1': 115}
  • 集合推导式

    # 集合推导式和列表相比,只是将中括号变成成了花括号
    >>> my_set = {x+1 for x in [1,2,3,4,5]}
    >>> my_set
    {2, 3, 4, 5, 6}
    # 可以看到结果是一样的,是因为集合不允许存在重复的值
    >>> my_set = {x+1 for x in [1,2,3,4,5,5]}
    >>> my_set
    {2, 3, 4, 5, 6}
    ​
    >>> my_set = {x+1 for x in [1,2,3,4,5] if x > 2}
    >>> my_set
    {4, 5, 6}
    

      

posted @ 2018-10-25 21:17  浩小白  Views(109)  Comments(0Edit  收藏  举报