美文网首页
详解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