推导式
推导式的基本形式:
[expr for val in Collection if condition]
简单翻译一下:
[操作 for 值 in 容器 if 条件]

strings = ['bat','alibaba','as','v','condi']
[x.upper() for x in strings if len(x) > 2]

[]已经说明了是个列表 集合换为{}即可,如下:

str_len = {len(x) for x in strings}
str_len

它等同于利用map函数:set(map(len,strings))

map函数是一种更函数化、更简洁的表达。map()会根据提供的函数对指定序列做映射。形如map(function, iterable, …)下面是个小例子

def square(x):return x ** 2
list(map(square, [1,2,3,4,5]))
list(map(lambda x: x ** 2, [2, 3, 5, 7]))

一个结合内建序列函数enumerate、将字符串与其位置相匹配的字典作为字典推导式的示例

loc_mapping = {val: index for index, val in enumerate(strings)}
loc_mapping

嵌套列表推导式
嵌套推导式的基本形式:
[expr for collection in collections for val in collection if condition]
再次简单翻译一下:
[操作 for 小容器 in 大容器 for 值 in 小容器 if 条件] 从外到内直到取到最小的单位,有几层就for几次

all_data = [['vince', 'lily','todd', 'josep'],['rik','jason', 'luna', 'steven']]
double_d_name =[name.upper() for names in all_data for name in names if name.count('d') >= 2]
double_d_name

这是一个包含列表的列表,所以需要for两次,第一次为for 列表 in 总列表,第二次为for name in 列表, 操作为将得到的name变为大写,条件为name中有两个d。

列表推导式是最受欢迎的Python特性之一,但是当嵌套多层之后当考虑代码的可读性。

some_tuple = [(1 ,2, 3), (4, 5, 6), (7, 8, 9)]
[x for tup in some_tuple for x in tup]#拆开元组
[[x for x in tup] for tup in some_tuple]#拆开为多层列表

部分例子引用《利用Python进行数据分析》一书

Python的列表推导式和嵌套列表推导式相关推荐

  1. Python各种推导式(列表推导式,字典推导式,集合推导式,嵌套列表推导式)

    一.列表推导式 Python官网列表推导式部分 列表推导式提供了一种创建list的简便方法.应用程序创建列表时,列表中的元素来源于其他序列.可迭代对象或创建的一个满足一定条件的序列. 基本格式: ​[ ...

  2. python列表操作——列表嵌套列表,找出嵌套列表中共同的元素

    今天在项目中遇到了一个列表嵌套找出共同元素的问题,本来懒得造轮子,直接百度一波,查了一圈不是只有两个list就是使用Intersection这个函数,可能这个功能过于简单了没人写,我试着用Inters ...

  3. python嵌套列表元素和_Python嵌套列表内部比较和编辑

    a = [[1, 2, 4], [2, 5], [0, 3, 7, 8], [12, 3, 6], [18, 14]] result = [] for s in a: s = set(s) for t ...

  4. python遍历多层嵌套列表_python遍历多层嵌套列表

    python 多层嵌套的json内容 怎么获取 如下,已经实现获取json中的指定内容,先在的问题是:有的json目标内容可以首先使用json包的loads函数对json数据进行解析,然后就可以像操作 ...

  5. python文件按行读取变为嵌套列表_迭代两个嵌套的2D列表,其中list2具有list1的行号...

    您可以使用Numpy(希望您不喜欢这样):import numpy dataset2D = [ [6, 4], [0, 0, 0, 1], [1, 0, 2, 0], [2, 2, 0, 1], [1 ...

  6. python嵌套列表字典_python中嵌套列表转为字典

    题目: # 有一组用例数据如下: cases = [ ['case_id', 'case_title', 'url', 'data', 'excepted'], [1, '用例1', 'www.bau ...

  7. python(2)提取多层嵌套列表里子元素的最大值

    要求:提取出下面json报文中values列表里每个元素的第二个数值,如31.918518518518518, 并比较取最大值 {'status': 'success','data': {'resul ...

  8. 嵌套列表与列表推导式

    嵌套列表(二维列表) 1.创建 通过每个元素的值 matrix = [[1,2,3],[4,5,6],[7,8,9]] martix = [[1,2,3],[4,5,6],[7,8,9]] 以上两种写 ...

  9. Python 之嵌套列表

    嵌套(nest),顾名思义,我中有你,你在我中之意.嵌套是 Python 语言中常见的现象,有函数嵌套,循环嵌套,可迭代对象嵌套等,具体到标题,即指列表中嵌套有列表,形如: 例 1 >>& ...

最新文章

  1. iOS APP提交上架最新流程
  2. jQuery学习入门总结之css()和addClass()的不同
  3. 关于C#调用API的理解(汇多考勤机HD4K)
  4. Service Mesh 在超大规模场景下的落地挑战
  5. 关于面对对象和正则表达式的处理
  6. 计算机除法和取余在实际运用中的意义
  7. core-js@2 core-js@3报错问题
  8. 初始Bootstrap
  9. SecureCRT连接Linux的操作步骤
  10. 随手记android面试题,微众银行风险模型面试随手记(一面+二面)
  11. Redis的AOF的配置
  12. preg_match 参数获取两个_「死磕 Spring」—– IOC 之 获取 Document 对象
  13. 重温html5的新增的标签和废除的标签
  14. 7.程序员的自我修养---动态链接
  15. 非科班程序员和科班程序员的差距到底在哪里?
  16. 【Excel技巧必知必会】
  17. Steam流式传输后插耳机没有声音
  18. easywechat 网页授权登录
  19. AH8652,AH8100,非隔离5V,供电替代阻容降压方案
  20. gerrit的第一次提交记录

热门文章

  1. iOS开发关于block和局部变量和全局变量
  2. Velocity最简易的Servlet加载
  3. pandas笔记2---reset_index函数drop与inplace参数的理解
  4. 降噪算法如何评定效果?用标准的方法,科学合理的判定你的降噪算法效果。
  5. android模拟来电功能,救场神器!假装有人打电话来的虚拟来电软件推荐
  6. sin的导数为cos的几何和公式证明
  7. python爬虫快速添加请求头、随机生成user-agent
  8. 史铁生散文《我与地坛》
  9. Give root password for maintenace (or press Control-D to continue):解决方法
  10. Qt 中获取文件路径和文件名、后缀名(连续多个后缀名)