基于Python列表解析(列表推导式)
作者:Shingle_ 发布时间:2021-11-14 16:31:36
标签:python,列表,推导式
列表解析——用来动态地创建列表
[expr for iter_var in iterable if cond_expr]
例子一:
map(lambda x: x**2, range(6))
[0, 1, 4, 9, 16, 25]
[x**2 for x in range(6)]
[0, 1, 4, 9, 16, 25]
列表解析式可以取代内建的map()函数以及lambda,而且++效率更高++。
例子二:
seq = [11, 10, 9, 8, 7, 6]
filter(lambda x: x % 2, seq)
[11, 9, 7]
[x for x in seq if x % 2]
[11, 9, 7]
例子三:
找出文本中最长的词
# 第一个最长的词
longest = ''
for word in text:
if len(word) > len(longest):
longest = word
#所有最长的词
maxlen = max(len(word) for word in text) # 生成器表达式
[word for word in text if len(word) == maxlen] #链表推导式
不足:列表解析得一个不足就是必要生成所有数据,用于创建整个列表。这可能对有大量数据得迭代其有负面效应。
++解决方法++:生成器表达式,通过结合列表解析和生成器解决了这个问题。
嵌套列表推导式
例一
all_data = [[1,3,5,7,9],
[2,4,6,8,10]]
result = []
for nums in all_data:
temp_num = [num for num in nums if num >= 5]
result.extend(temp_num)
嵌套列表推导式
result = [num for nums in all_data for num in nums if num >= 5]
推导式中for的部分是按嵌套顺序排列的。
例二
some_tuples = [(1,2,3), (4,5,6), (7,8,9)]
flattened = [x for tup in some_tuples for x in tup]
flattened
[1,2,3,4,5,6,7,8,9]
来源:https://blog.csdn.net/Shingle_/article/details/55050701
0
投稿
猜你喜欢
- DB存储层次结构(画了个草图,将就看一下...XD)管理表空间 &nb
- 一、picklepickle模块用来实现python对象的序列化和反序列化。通常地pickle将python对象序列化为二进制流或文件。&n
- 一: 基本使用:1:环境的安装:pip install flask-sqlalchemypip install pymysql2:组件初始化
- <?php function getDerivativeByFormulaAndXDATA($formula, $x_data){ $
- 本文实例讲述了mysql存储过程原理与用法。分享给大家供大家参考,具体如下:本文内容:什么是存储过程存储过程的创建存储过程的使用查看存储过程
- 关于CSS中的命名规则(其实我觉得是XHTML元素的命名规则更加合理些)这个问题,已经有很多人在说了,其中也不乏一些真知灼见。不过这种东西也
- stark组件是仿照django的admin模块开发的一套组件,它的作用是在网页上对注册的数据表进行增删改查操作一、配置1、创建
- 目的:把question_id 对应的user_answer转成ABCDsolutiondfa=df.groupby('questi
- 1. 拉取推送分支: git branch 分
- 映射Go编程提供的一个重要的数据类型就是映射,唯一映射一个键到一个值。一个键要使用在以后检索值的对象。给定的键和值,可以在一个Map对象存储
- python 如何获取文件夹中的全部文件在神经网络准备训练集的时候,经常需要从文件夹中读取全部图片。经常遇到的有两种方式1 os.listd
- 1969年8月8日,在北京协和医院降生了一个漂亮的小女孩。接生的阿姨说,她的声音这么大,好象想要全世界的人都听到。后来,她的父亲为她取了一个
- 初步认识k-means翻译过来就是K均值聚类算法,其目的是将样本分割为k个簇,而这个k则是KMeans中最重要的参数:n_clusters,
- 一、前言forEach和map是数组的两个方法,作用都是遍历数组。在vue项目的处理数据中经常会用到,这里介绍一下两者的区别和具体用法示例。
- 本文主要介绍了go redis之redigo的使用,分享给大家,具体如下:安装go-redis 三方库为我们封装了很多函数来执行 Redis
- 讨论Web开发技术的历史,当然要先说说Web的起源。众所周知,Web这个Internet上最热门的应用架构是由Tim Berners-Lee
- 1 词频统计1.1 简单词频统计1.导入jieba库并定义文本import jiebatext = "Python是一种高级编程语
- 版本:平台:ubuntu 14 / I5 / 4G内存python版本:python2.7opencv版本:2.13.4依赖:如果系统没有p
- 用pandas计算相关系数计算相关系数用pandas,比如我想知道风速大小与风向紊乱(标准差来衡量)之间的相关系数,下面是代码:import
- 问题描述在做矩阵数据的归一化处理时,遇到个报错:ValueError: operands could not be broadcast to