python小知识,列表推导式
使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。
1、生成指定范围的数值列表,语法格式如下:
list=[Expression for var in range if condition]
list:表示生成列表的名称
Expression :表达式,用于计算列表的元素
var:循环变量
range:采用range()函数生成的range对象
condition:条件表达式,用于指定筛选条件
示例:
"""
author:锦衣大镖客
create:2020年12月19日
功能:列表推导式试验
"""
lis=[i for i in range(10)]
print("lis:",lis)
#将lis列表中的数字全部翻10倍 lis_fb=[i*10 for i in lis]
print("lis_fb:",lis_fb) #配合随机数 random模块使用
import random
#取10位随机数生成一个列表
lis_random=[random.randint(1,1000) for i in range(10)]
print("lis_random:",lis_random) #条件筛选组合成新列表
lis_if=[x for x in lis_random if x>200]
print("lis_if:",lis_if) #列表推导式建立二维列表
list_tow=[[i for i in range(3)] for j in range(5)]
print("lis_tow:",list_tow)
执行结果:

推导式生成元组对象:
#使用推导式建立元组
tuple_random=(x for x in range(10))
print("tuple_random:",tuple_random)
#可以在转换后使用for进行遍历,也可以使用__next__方法进行遍历
print(tuple_random.__next__()) #取出数值
print("tuple_random的类型为:",type(tuple_random))
#需要使用tuple进行类型转换
# print(tuple(tuple_random))
for i in tuple_random:
print("shuchu",i)
print(tuple(tuple_random))
#依照上述示例可以看出,无论通过哪种方法输出,如果再想使用该生成器对象,的补习重新创建一个生成器对象,因为遍历后原生成器对象已经不存在了
执行结果:

python小知识,列表推导式的更多相关文章
- Python之路----列表推导式和生成器的表达式
列表推导式 egg_list=['鸡蛋%s'%i for i in range(10)] print(egg_list) 列表推导式 推导过程 egg_list = [] for i in range ...
- python 三元表达式 列表推导式,生成器表达式。递归,匿名函数, 内置函数
三元表达式 三元表达式仅应用于: 1.条件成立返回一个值 2.条件不成立返回一个值 res = x if x>y else y print(res) name= input("姓名&g ...
- Python中的列表推导式
Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”.名字听上去很难理解,但是看 ...
- python中的列表推导式——轻量级循环
列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法.它的工作方式类似于for循环,也很简单. 列表推导式书写形式: [表达式 for ...
- python基础之列表推导式
#列表推导式 ---> 返回的是列表 for语句 效率更高# 1*1 2*2 3*3 4*4 5*5 6*6 7*7 8*8 9*9# import time# to = time.clock( ...
- python基础17_列表推导式 vs 生成器表达式
[ ] 列表推导式,是用简单的语法来生成列表, ( ) 生成器表达式,是用简单的语法创建个生成器. 外观上仅括号不一样. 虽然写起来方便,但是读起来稍显费力,另外,不易调试. # 列表推导式 prin ...
- python函数知识五 推导式和内置函数一(了解)
17.推导式: 推导式:将for循环多行变成一行 list推导式:[] #普通模式 print([i for i in range(20)]) #循环模式 #[变量 for i in range(20 ...
- Python List comprehension列表推导式
http://blog.chinaunix.net/uid-28631822-id-3488324.html 具体内容需要进一步学习
- 迭代列表不要For循环,这是Python列表推导式最基本的概念
如果你还在使用 For 循环迭代列表,那么你需要了解了解列表推导式,看看它的基本概念都是什么. 列表解析式(List comprehension)或者称为列表推导式,是 Python 中非常强大和优雅 ...
- python高级编程之列表推导式
1. 一个简单的例子 在Python中,如果我们想修改列表中所有元素的值,可以使用 for 循环语句来实现. 例如,将一个列表中的每个元素都替换为它的平方: >>> L = [1, ...
随机推荐
- POJ1376简单广搜
题意: 给你一个n*m的矩阵,然后给你机器人的起点和终点,还有起点的方向,然后每次机器人有两种操作,左右旋转90度,或者是朝着原来的方向走1,2或者3步,机器人再走的过程中不能碰到格子,也 ...
- 神经网络与机器学习 笔记—多层感知器(MLP)
多层感知器(MLP) Rosenblatt感知器和LMS算法,都是单层的并且是单个神经元构造的神经网络,他们的局限性是只能解决线性可分问题,例如Rosenblatt感知器一直没办法处理简单异或问题.然 ...
- Portswigger web security academy:XML external entity (XXE) injection
Portswigger web security academy:XML external entity (XXE) injection 目录 Portswigger web security aca ...
- Day004 while和do-while循环
循环结构(while和do-while) while循环 do...while循环 for循环 在Java5中引入了一种主要用于数据的增强for循环 //输出1~100 int i=0; while ...
- Day003 类型转换
类型转换 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 低------------------------------------------------------> ...
- FTP主动模式(PORT)与被动模式(PASV)
待完善 参考文章0 参考文章1
- Mac FTP 安装与使用
安装ftp brew install telnet brew install inetutils brew link --overwrite inetutils 使用ftp 1. 登录 #方式一 $ ...
- J2SE基础题
J2SE基础 八种基本数据类型的大小,以及他们的封装类.(有的也说是9中基本数据类型,包括了void) 基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 ...
- JS中函数定义和使用顺序
在js中如果定义函数是先声明函数,如: console.log(hello); //然后再去定义: function hello(){ alert("Hello");} 这种是可以 ...
- Gin框架介绍与使用
Gin // 初识 Gin框架 //下载(可能会下载不全.缺什么get什么即可) //go get -u -v github.com/gin-gonic/gin package main import ...