列表生成式

现在有个需求,看列表[0,1,2,3,4,5,6,7,8,9],要求你把列表里每个值都加1,你怎么实现?你可能会想到两种方法。

二逼青年版

>>> a = [0,1,2,3,4,5,6,7,8,9]
>>> b = []
>>> for i in a:
... b.append(i+1)
...
>>> b
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a = b
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

普通青年版

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for index,i in enumerate(a):
a[index] +=1 print(a)

文艺青年版

>>> a = [0,1,2,3,4,5,6,7,8,9]
>>> a = map(lambda x:x+1,a)
>>> a
<map object at 0x0000025486AE20B8>
>>> for i in a:
... print(i)
...
1
2
3
4
5
6
7
8
9
10

其实,还有一种方法

装逼青年版

>>> a = [i+1 for i in range(0,10)]  #列表生成式
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

列表生成式还可以进行三元运算

>>> a = [0,1,2,3,4,5,6,7,8,9]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a = [i if i<5 else i*i for i in a]
>>> a
[0, 1, 2, 3, 4, 25, 36, 49, 64, 81]

列表还可以讲字符串拆进列表

>>> a = 'alexli'
>>> a = [i for i in a]
>>> a
['a', 'l', 'e', 'x', 'l', 'i']

列表生成式用一行操作修改列表中数据,元组也是可以的,别的不行。

Python全栈之路----函数进阶----列表生成式的更多相关文章

  1. Python全栈之路----函数进阶----生成器

    生成器特点: 不能立即产生,取一次创建一次 只能往前走 等到走到最后,就会报错 >>> a = [i for i in range(1000)] >>> a [0, ...

  2. Python全栈之路----函数进阶----装饰器

    Python之路,Day4 - Python基础4 (new版) 装饰器 user_status = False #用户登录后改为True def login(func): #传入想调用的函数名 de ...

  3. Python全栈之路----函数进阶----名称空间

    又名name space,顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的=地方 名称空间共3种,分别如下 ...

  4. Python全栈之路----函数进阶----迭代器

    我们已经知道,可以直接作用于 for 循环的数据类型有以下几种: 一类是集合数据类型,如 list , tuple , dict , set ,str 等: 一类是 generator ,包括生成器和 ...

  5. Python全栈之路----函数进阶----作用域的查找空间

    n = 10 def func(): n = 20 print('func:',n) def func2(): n = 30 print('func2:',n) def func3(): print( ...

  6. Python全栈之路----函数进阶----闭包

    关于闭包,即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数).而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量.参数.当其中一个这样的内部函数在包含它们之外被调用时,就会形成闭 ...

  7. Python全栈之路----函数----返回值

    函数外部的代码想要获取函数的执行结果,就可以在函数里用return语句,把结果返回. def stu_register(name,age,course='PY',country='CN'): prin ...

  8. python全栈开发-前方高能-函数进阶

    python_day_10 一.今日主要内容 1. 动态参数 位置参数的动态参数: *args 关键字参数的动态参数 : **kwargs 顺序: 位置,*args,默认值,**kwargs 在形参上 ...

  9. Python全栈之路----函数----内置方法

    Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod ...

随机推荐

  1. 基于PI+QT实现OpenCV图像处理操作(基本环境搭建)

    这篇博客就是在PI上直接写出来的!cheers!! PI3的性能已经非常强劲,而作为一个能够独立运行的运算单元,使用它来做图像处理,将是非常适合的.为了挖掘机器的最大潜能,我没有采用比较常见的pyth ...

  2. for循环介绍

    流程控制之for循环names=['yb','zs','yxd','lb'] i=0 while i < len(names): #4 < 4 print(names[i]) i+=1 # ...

  3. topcoder srm 580 div1

    problem1 link 最优选择一定是在$2n$个端点中选出两个. problem2 link 分开考虑每个区间.设所有区间的左端点的最大值为$lc$,所有区间的右端点的最小值为$rc$.对于某个 ...

  4. visualSFM

    Ubuntu18.04配置VisualSFM参考:https://www.jianshu.com/p/cc0b548313e9 VisualSFM有GPU和NO_GPU两个版本,本文安装VisualS ...

  5. HTML基础【4】:表格标签

    表格标签 在过去表格标签用的非常非常的多,绝大多数的网站都是使用表格标签来制作的,也就是说表格标签是一个时代的代表 作用:以表格形式将数据显示出来,当数据量非常大的时候,表格这种展现形式被认为是最为清 ...

  6. Mac OS X 清除DNS缓存

    参考: Flushing your DNS cache in Mac OS X and Linux Mac OS X 清除DNS缓存 根据Mac OS X操作系统的版本选择以下命令: Mac OS X ...

  7. CentOS7.4安装和配置zabbix4.0

    一.安装zabbix前,需要搭建好LAMP环境 二.下载zabbix 进入官网:https://www.zabbix.com/ 更多详细内容请参考官方说明文档,详细的安装要求不贴出来了. https: ...

  8. 用GraphX分析伴生网络(一)

    1. 图论与GraphX 图论是一个数学学科,研究一组实体(称为顶点)之间两两关系(称为边)的特点.通过构建关系图谱,并对关系进行分析,可以实现更好的投放广告,推荐关系等.随着关系图谱越来越强大,计算 ...

  9. python模块--re模块

    常用的正则表达式模式: .  匹配除换行符以外的任意字符 \d  匹配一个数字字符.等价于 [0-9]. \D  匹配一个非数字字符.等价于 [^0-9]. \s  匹配任何空白字符,包括空格.制表符 ...

  10. stylus笔记(二)

    1.方法 函数  Stylus强大之处就在于其内置的语言函数定义.其定义与混入(mixins)一致:却可以返回值. 默认参数 可选参数往往有个默认的给定表达.在Stylus中,我们甚至可以超越默认参数 ...