zoukankan      html  css  js  c++  java
  • python学习第九天 -- 列表生产式

    说说python特有的列表生成式。python的列表的生成式主要用法是什么?

    用法就是可以使用简洁的代码生成出list集合。

    直接用代码举了例子:

    利用列表生成式生成列表[1x2,3x4,5x6,7x8,....,99x100]

    >>> [x*(x+1) for x in range(1,100,2)]

    解析:range(1,100,2) 从1~100数字中每隔2个数字取元素。

    之前在上一节讲迭代的时候,有提供zip()函数,将两个list合并成一个list。索引生成上面的列表也可以这么写:

    >>>print [x * y for x,y in zip(range(1,101,2),range(2,101,2))]

    也可以针对dict迭代生成列表生成式。来看下面的例子:

    >>> d = {'A':67,'B':90,'C':87}
    >>> print [(name,score) for name ,score in d.items()]
    [('A', 67), ('C', 87), ('B', 90)]

    针对这种列表生成式还可以加上条件过滤。来看下面的例子:

    >>> [x for x in range(1,11)if x%2 == 0]
    [2, 4, 6, 8, 10]

    学过其他编程语言的人都知道,循环是可以嵌套的。在python列表生成式中,也可以嵌套循环。

    来看下面的例子:利用三层for循环的列表生成式,找出对称的3位数。例如121就是对称数。

    >>>print [i*100+j*10+k for i in range(1,10) for j in range(0,10) for k in range(1,10) if i==k]
  • 相关阅读:
    HAProxy的基础配置详解
    Nginx七层负载均衡的几种调度算法
    基于PXE网络启动的Linux系统自动化安装
    centos源码编译安装新版本内核
    Linux计划任务管理
    Linux多网卡绑定(bond)及网络组(team)
    Linux逻辑卷管理(LVM)
    pandas基础操作
    subprocess
    python常用库(转)
  • 原文地址:https://www.cnblogs.com/nx520zj/p/5690592.html
Copyright © 2011-2022 走看看