首页 > 编程语言 >Python的列表推导式

Python的列表推导式

时间:2022-11-05 21:14:18浏览次数:34  
标签:10 推导 Python 列表 python range append

你一定听过这样一个说法,尽量使用列表推导式,而不是用list.append方法来初始化一个列表,那么究竟为何列表
推导式会更快呢?
这是因为,列表推导式被编译后的字节码执行速度更快。python当然不是一门编译型语言,但是它还是要被解析成
二进制的字节码才能被执行,执行它的正是python解释器。 python底层还是用C语言写的

什么是列表推导式?
列表推导能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形。

格式
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]

result = []
for value in collection:
  if condition:
    result.append(expression) 

案例分析
例子1:

mlist = []
for x in range(1,5):
  if x > 2:
    for y in range(1,4):
      if y < 3:
        mlist.append(x*y)

修改为列表推导式,如下:

[x*y for x in range(1,5) if x > 2 for y in range(1,4) if y < 3]

例子2:
循环获取1~10之间的每个元素的平方列表

#for循环
list = []
for x in range(10):
  list.append(x**2)

修改为列表推导式如下:

[x**2 for x in range(10)]

例子3:
偶数的平方列表

list1=[]
for x in range(10):
  if x%2 == 0:
    list1.append(x**2)

例子4:
求出30以内所有的能被3整除的数的平方列表

def squared(x):
  return x * x
multiples = [squared(i) for i in range(30) if i % 3 is 0]
print(multiples)  

 

标签:10,推导,Python,列表,python,range,append
From: https://www.cnblogs.com/michael999/p/16861282.html

相关文章

  • PyTorch笔记:Python中的state_dict是啥
    来自:https://pytorch.org/tutorials/recipes/recipes/what_is_state_dict.html在PyTorch中,可学习的参数都被保存在模型的parameters中,可以通过model.parameters()访问......
  • Python 爬虫之多进程
    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、......
  • python函数
    python函数函数啊函数多解决问题,踩的坑多了,就有经验了函数作用:以功能(完成一件事)为导向的代码块,一个函数就是一个功能.随调随用,不用不调减少代码重复性,增强......
  • 极客编程python入门-字典与SET
    dictPython内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度d={'python':7,"java":234,'go':3,123:567}print(d)p......
  • C++构造函数初始化列表注意的坑
    原文链接:https://www.zhoubotong.site/post/87.html之所以写这篇文章,是觉得里面有些细节如果不注意,很容易出错或踩坑,网上有很多教程对这块的描述部分存在错误。希望下面......
  • 【python】pycharm打开时一直加载中怎么办 ?
    前言大家早好、午好、晚好吖~问题描述相信很多刚开始使用pycharm不太熟练的小伙伴,每天一开机打开pycharm总是卡半天,不知道的还以为是电脑卡了或者啥问题的。莫慌,其实......
  • 运行python脚本报错:selenium.common.exceptions.SessionNotCreatedException: Message
    运行python脚本报错:selenium.common.exceptions.SessionNotCreatedException:Message:sessionnotcreated        原因:ChromeDriver版本与浏览器版本不......
  • 700001 TXT 公共课的书籍列表
    1、办公软件应用在人们日常学习和生活中,很多工作都离不开文字处理软件,常见的办公自动化软件有微软公司研发的基于Windows操作系统的MicrosoftOffice和金山软件公司研发......
  • python print 打印延迟问题解决
    转载:https://wenku.baidu.com/view/ffc89347bb4ae45c3b3567ec102de2bd9705de56.html?wkts=1667639107060&bdQuery=python+print%E7%AB%8B%E5%8D%B3%E6%89%93%E5%8D%B0......
  • 【Python零基础入门篇 · 4】:字符串的运算符、下标和切片
    字符串名称中文名称作用举例str字符串字符串“hello”,”loveyou”,.......字符串的运算符:+*innotin字符串的运算符作用举例结果......