python列表推导式生成随机数_python列表推导式
列表推导式介绍
列表推导式是Python中快速创建列表的一种方式。
之前我们要创建(Python3中)一个元素是0~9的列表,我们可能会像下面这么写:
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
复制代码
这么写没毛病,但是如果要稍微复杂一点的需求可能就有点棘手了,比如:
把列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]中的每个元素都加100,生成一个新列表,这要怎么写呢?
一级学徒可能会这么写:
>>> list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2 = []
>>> for i in list1:
... list2.append(i+100)
...
>>> list2
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109]
复制代码二级学徒可能会这么写:
>>> list2 = list(map(lambda i:i+100, list1))
>>> list2
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109]
复制代码
注意: Python3中map函数返回的是一个迭代器,需要转成list类型。
高级学徒可能会这么写:
>>> list2 = [i+100 for i in list1]
>>> list2
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109]
复制代码
好啦,这第三种写法就是今天我们要讲的列表推导式。
接下来我们看一下,列表推导式的语法规范是什么,看下图:
列表推导式练习
只有输出表达式和输入序列的基本列表推导式
>>> list1 = [1, 2, 3]
>>> [x*10 for x in list1] # 把list1中的每个元素乘以10
[10, 20, 30]
复制代码
带有条件判断的列表推导式
>>> list1 = [1, 2, 3]
>>> [x*10 for x in list1 if x%2!=0] # 把list1中的每个不能被2整除的元素乘以10
[10, 30]
复制代码
多个输入序列的列表推导式
>>> list1 = ["A", "B", "C"]
>>> list2 = ["X", "Y", "Z"]
>>> [x+y for x in list1 for y in list2] # 把list1和list2中的元素进行拼接
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
复制代码
注意:使用列表推导式生成的列表虽然十分方便,但是它生成的列表的所有元素会直接在内存中生成,当你要生成的列表元素个数十分巨大的时候,要注意小心你的内存。
python列表推导式生成随机数_python列表推导式相关推荐
- python列表推导式生成随机数_Python:列表推导式/生成器推导式
一,列表推导式和生成器表达式 l = [i for i in range(10)] print(l) l1 = ['选项%s'%i for i in range(10)] print(l1) 1.把列 ...
- python列表推导式生成随机数_python 【迭代器 生成器 列表推导式】
python [迭代器 生成器 列表推导式] 一.迭代器 1.迭代器 如何从列表.字典中取值的 index索引 ,key for循环 凡是可以使用for循环取值的都是可迭代的 可迭代协议 :内部含 ...
- Python中random模块生成随机数详解
Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...
- python列表生成字典_Python 列表生成式 字典生成式
Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...
- python随机数生成并排序_python_生成随机数与列表排序
1. 列表排序可采用两种方法 sorted(list) 直接改变list 调用list的方法 list.sort 2. random.randint(a,b) 生成大于等于a小于等于b的整数 ran ...
- python生成随机数列表并排序_python_生成随机数与列表排序
1. 列表排序可采用两种方法 sorted(list) 直接改变list 调用list的方法 list.sort 2. random.randint(a,b) 生成大于等于a小于等于b的整数 ran ...
- python列表元素零的移动_python列表多行
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 这个列表推导式共有145列: memberdef_list = and std: ...
- python列表使用技巧与方法_Python列表的相关操作与方法
Python列表的相关操作与方法 1.列表 why:int.bool.str存在缺陷 str:存储少量的数据:所有的操作获取的内容都是 str类型,存储的数据类型单一. what: 列表可以承载任意数 ...
- python如何生成随机数_python如何生成随机数
如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文 ...
最新文章
- 为什么谐振时电抗为0_变频串联谐振试验装置的接线原理
- 010_Redis的发布和订阅
- unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?
- 正确地kill java历程
- netty websocket 简单消息推送demo
- 写给小白的机器学习之数据表示与特征工程详解(附实战代码)
- 设计模式---创建型模式
- linux命令:常用shell命令及应用
- 中国为什么不能成为国际数据中心枢纽
- Adobe Reader X 10.1.0
- 传奇gom引擎架设教程
- MongoDB的一些基本使用
- 积分专题笔记-曲线面积分三大公式
- 大学毕业4年-回顾和总结(3)-投资理财观-图穷而真相现
- 1945-计算弹跳高度
- python 列表写入excel_Python读写excel表格的方法一
- 系统扫描修复cmd命令
- window系统下安装VS(Microsoft Visual Studio),及Visual Studio使用教程
- 不会搭建Android知识框架,活该你成不了技术大牛!
- Simultaneous Feature Learning and Hash Coding with Deep Neural Networks