美文网首页
详解Python中的列表生成式

详解Python中的列表生成式

作者: 超级超级小天才 | 来源:发表于2020-08-19 00:57 被阅读0次

    其他关于Python的总结文章请访问:https://www.jianshu.com/nb/47435944

    详解Python中的列表生成式

    列表生成式是用来方便快速地生成一个list的方式,基本的写法有以下几种:

    • [变量表达式 for 变量 in 范围]
    • [变量表达式 for 变量 in 范围 if 条件]
    • [变量表达式 if 条件 else 另一个变量表达式 for 变量 in 范围]

    三个例子:

    print([x * 2 for x in range(1, 11)])
    print([x * x for x in range(1, 11) if x % 2 == 0])
    print([x if x % 2 == 0 else -x for x in range(1, 11)])
    
    ------
    
    [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
    [4, 16, 36, 64, 100]
    [-1, 2, -3, 4, -5, 6, -7, 8, -9, 10]
    

    其中变量可以是一个或多个,比如:

    • 一个变量:
      print([x ** 2 for x in range(1, 11)])
      
      ------
      
      [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
      
    • 两个变量:
      d = {'x': 1, 'y': 2, 'z': 3}
      print([k + "=" + str(v) for k, v in d.items()])
      
      ------
      
      ['x=1', 'y=2', 'z=3']
      

    总结:

    • 如果if放在 for后边,则不能加else,只起到筛选作用
    • 如果if放在for前边,可以加上else来进行两种表达式的构建

    相关文章

      网友评论

          本文标题:详解Python中的列表生成式

          本文链接:https://www.haomeiwen.com/subject/rywljktx.html