> 文章列表 > 【python学习】基础篇-列表推导式快速生成列表

【python学习】基础篇-列表推导式快速生成列表

【python学习】基础篇-列表推导式快速生成列表

使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。
列表推导式通常有以下几种常用的语法格式
(1)生成指定范围的数值列表,语法格式如下:
list = [Expression for var in range]
Expression:表达式,用于计算新列表的元素
var:循环变量。
range:采用 range0)函数生成的 range对象。
例如,要生成一个包括 10 个随机数的列表,要求数的范围在 10~100(包括)之间

import random# 导入random标准库
randomnumber = [random.randint(10,100) for i in range(10)]
print("生成的随机数为:",randomnumber)

(2)根据列表生成指定需求的列表,语法格式如下:
newlist = [Expression for var in list]
参数说明:
newlist:表示新生成的列表名称。
Expression:表达式,用于计算新列表的元素
var: 变量,值为后面列表的每个元素值。
list:用于生成新列表的原列表。

price =[1200,5330,2988,6200,1998,8888]
sale = [int(x*0.5) for x in price]
print("原价格:",price)
print("打五折的价格:",sale)输出结果
原价格: [1200, 5330, 2988, 6200, 1998, 8888]
打五折的价格: [600, 2665, 1494, 3100, 999, 4444]

(3)从列表中选择符合条件的元素组成新的列表,语法格式如下:
newlist = [Expression for var in list if condition]
参数说明:
newlist:表示新生成的列表名称
Expression:表达式,用于计算新列表的元素
var:变量,值为后面列表的每个元素值。
list:用于生成新列表的原列表。
condition:条件表达式,用于指定筛选条件

price =[1200,5330,2988,6200,1998,8888]
sale = [x for x in price if x>5000]
print("原列表:",price)
print("价格高于5000的:",sale)输出结果
原列表: [1200, 5330, 2988, 6200, 1998, 8888]
价格高于5000: [5330, 6200, 8888]