美文网首页程序员哲思想法
21.Python中的列表推导

21.Python中的列表推导

作者: 赵明嗯 | 来源:发表于2020-07-25 22:16 被阅读0次

    Python的列表推导特别像for循环,它可以通过迭代的方法从其他列表中取出元素,构建新的列表。

    >>> a=[x*x for x in range(5)]
    >>> a
    [0, 1, 4, 9, 16]
    

    在列表推导式的遍历结构下还可以加入if语句,从而对取出的元素进行筛选。

    >>> a=[x*x for x in range(5) if x%2==0]
    >>> a
    [0, 4, 16]
    

    两组for循环创建的列表推导式:

    >>> a=[("{}*{}={}".format(x,y,x*y)) for x in range(1,10) for y in range(1,10) if x>=y]
    >>> a
    ['1*1=1', '2*1=2', '2*2=4', '3*1=3', '3*2=6', '3*3=9', '4*1=4', '4*2=8', '4*3=12', '4*4=16', '5*1=5', '5*2=10', '5*3=15', '5*4=20', '5*5=25', '6*1=6', '6*2=12', '6*3=18', '6*4=24', '6*5=30', '6*6=36', '7*1=7', '7*2=14', '7*3=21', '7*4=28', '7*5=35', '7*6=42', '7*7=49', '8*1=8', '8*2=16', '8*3=24', '8*4=32', '8*5=40', '8*6=48', '8*7=56', '8*8=64', '9*1=9', '9*2=18', '9*3=27', '9*4=36', '9*5=45', '9*6=54', '9*7=63', '9*8=72', '9*9=81']
    

    如上,通过两个for加入一个if,实现了九九乘法表的打印。其中还用到字符串格式的一些知识。

    相关文章

      网友评论

        本文标题:21.Python中的列表推导

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