列表推导式和seed()的理解
2024-09-06 09:46:40
Table of Contents generated with DocToc
列表推导式和seed()的理解
对seed()的理解
某些场合为了得到两个一模一样的随机数系列,可以使用seed()来实现
即同一个种子可以得到的随机序列必定相同
import random
random.seed(0)
lst=[random.random() for i in range(5)]
random.seed(0)
lst1=[random.random() for i in range(5)]
print(lst==lst1)
#True
#lst必定等于lst1
列表推导式
List Comprehensions is fast, readable and use less code
第一种用法
out_list = [out_express for out_express in input_list if out_express_condition]
out_list = [out_express for out_express in input_list if out_express_condition]
#其中的 if 条件判断根据需要可有可无。
animal_doctor = [animal for animal in animal_park]
nimal_doctor = [animal for animal in animal_park if animal != 'Dog'and animal != 'Cat']
digit=[chr(i) for i in range(48,57)]
letters=[chr(i) for i in range(ord('A'),ord('z'))]+
[chr(i) for i in range(ord('a'),ord('z'))]
第二种用法
列表推导式的项可以是任意的,包括列表
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]
matrix2=[[row[i] for row in matrix] for i in range(4)]
'''
transposed = []
for i in range(4):
transposed.append([row[i] for row in matrix])
#细看 [row[0] for row in matrix]
transposed = []
for i in range(4):
# the following 3 lines implement the nested listcomp
transposed_row = []
for row in matrix:
transposed_row.append(row[i])
transposed.append(transposed_row)
transposed
'''
flattened = []
for row in matrix:
for i in row:
flattened.append(i)
flattened = [i for row in matrix for i in row]
最新文章
- [LeetCode] Best Time to Buy and Sell Stock 买卖股票的最佳时间
- Number Sequence HDU 1711(KMP)
- C++的一个奇技淫巧
- 第64课 C++中的异常处理(上)
- [No00003B]string格式的日期时间字符串转为DateTime类型
- Nikola的5项依赖注入法则
- java静态代理
- Web前端技能
- 用scikit-learn实现朴素贝叶斯分类器 转
- SpringMVC+easyUI CRUD 添加数据C
- QLibraryInfo
- CF666E Forensic Examination
- spring boot 之 错误:SpelEvaluationException: EL1008E: Property or field 'timestamp' cannot be found on object of type 'java.util.HashMap'
- iText C# 合并PDF文件流,以及A5变A4时内容默认放在最底下的问题的解决方法;ASP.NET 实现Base64文件流下载PDF
- 学习Struts2的个人疑惑及问题解决
- HDU-1176.免费馅饼(数字三角形变形)
- 基于jQuery全屏相册插件zoomVisualizer
- clapack在android上移植
- Ucenter社区服务搭建
- JDK5.0特性,使用ProcessBuilder执行本地命令