基于Python列表解析(列表推导式)
2018-06-23 10:43
881 查看
列表解析――用来动态地创建列表
[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]
以上这篇基于Python列表解析(列表推导式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- Python列表解析(列表推导式)
- python之列表推导式及嵌套列表解析学习
- 基于python的-天气预报查询系统(json解析)
- 举例讲解Python中的迭代器、生成器与列表解析用法
- Python列表解析与生成器表达式
- python 列表解析
- 零基础学python-2.16 列表解析
- python的各种推导式(列表推导式、字典推导式、集合推导式)
- Python3.2官方文档教程--嵌套列表推导式和del关键字
- 基于python的-列表生成式与生成器
- python列表推导式中使用if-else
- 使用python的列表解析以及函数式计算来简化代码
- python之列表推导式
- Python的map函数和列表解析之比较(实验)
- Python列表解析和生成器
- Python基础教程代码与注释P82 5.6 列表推导式——轻量级循环
- Python 列表解析
- 基于python的-全国旅游信息查询系统(json解析)
- 零基础学python-13.3 列表解析简介与步骤分解
- Python之列表推导式