列表生成式

简介: 列表生成式
现在有个需求,现有列表a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式

二逼青年版

生成一个新列表b,遍历列表a,把每个值加1后存在b里,最后再把a=b, 这样二逼的原因不言而喻,生成了新列表,浪费了内存空间。

>>> 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 = [1,3,4,6,7,7,8,9,11]
for index,i in enumerate(a):
    a[index] +=1
print(a)
略屌青年版

>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a = map(lambda x:x+1, a)
>>> a
>>> for i in a:print(i)
... 
3
5
7
9
11
装逼青年版

>>> a = [i+1 for i in range(10)]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
这样的写法就叫做列表生成式,有什么用呢?装逼用,哈哈,写出来显的高级,效果跟上面的都一样哈。

View Code

看下面的就可以了,列表装逼高配版

#下面是自己写的,主要看下面这个就可以
arr = ["%s sex is 男"%i if (i%2) == 0 else "%s sex is 女"%i for i in range(10)]
for i in arr:
    print(i)
"""
0 sex is 男
1 sex is 女
2 sex is 男
3 sex is 女
4 sex is 男
5 sex is 女
6 sex is 男
7 sex is 女
8 sex is 男
9 sex is 女
"""


相关文章
|
2月前
蓝桥杯常用函数 | 迭代器itertools
蓝桥杯常用函数 | 迭代器itertools
|
3月前
|
Python
列表推导式和循环语句有什么区别
【9月更文挑战第5天】列表推导式和循环语句有什么区别
41 14
|
3月前
|
Python
python推导式-列表,元组,字典,集合推导式
这篇文章介绍了Python中的推导式,包括列表推导式、元组推导式、字典推导式和集合推导式,提供了它们的基本格式和示例代码,并解释了推导式如何简化循环和条件判断的代码编写。
|
5月前
|
算法 Java 编译器
推导式
【7月更文挑战第10天】
19 1
使用推导式和生成器创建数组
使用推导式和生成器可以便捷创建数组。例如,`[n^2 for n in 1:10]` 生成一个包含平方数的向量,而 `[n*m for n in 1:10, m in 1:10]` 创建一个乘积矩阵。无括号形式如 `n^2 for n in 1:5` 产生生成器,需要 `collect` 转换为数组。另外,表达式 `sum(1/n^2 for n=1:1000)` 求和而不占用大量内存。
|
7月前
|
大数据 数据处理 Python
Python中的列表推导式与字典推导式
Python中的列表推导式与字典推导式
17.从入门到精通:Python 推导式 列表推导式 字典推导式 集合推导式 元组推导式(生成器表达式)
17.从入门到精通:Python 推导式 列表推导式 字典推导式 集合推导式 元组推导式(生成器表达式)
|
Python
Python列表推导式字典推导式
变量 = [生成数据的规则 for 临时变量 in xxx if xxx] 每循环一次,并且if条件为True,生成一个数据 变量 = [生成数据的规则 for 临时变量 in xxx for j in xxx] 第二个for 循环 循环一次,生成一个数据 补充: 字典推导式 变量 = {生成字典的规则 for 临时变量 in xx} my_dict = {key: value for i in range(3)}.........
153 1
|
Python
Python列表推导式(列表解析式)题目
用一行Python代码,从给定列表a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]中取出所有的偶数和奇数?
208 0
Python列表推导式(列表解析式)题目
|
开发者 Python
字典推导式|学习笔记
快速学习字典推导式