python的各种推导式(列表推导式、字典推导式、集合推导式)

简介:

推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:

  • 列表(list)推导式

  • 字典(dict)推导式

  • 集合(set)推导式

一、列表推导式

1、使用[]生成list

基本格式

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

例1:  过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母

1
2
3
>>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']    
>>> [name.upper() for name in names if len(name)>3]  
['ALICE', 'JERRY', 'WENDY', 'SMITH']

更多示例:http://www.jb51.net/article/67157.htm



生成间隔5分钟的时间列表序列:

1
["%02d:%02d" %(h,m) for h in range(0, 24) for m in range(0, 60, 5)]


二、字典推导式

字典推导和列表推导的使用方法是类似的,只不中括号该改成大括号。直接举例说明:

1
2
3
4
=  [ "%02d:%02d"  % (h,m)  for  in  range ( 0 24 for  in  range ( 0 60 5 )]
=  {key: 0  for  key  in  s}
print (d)
print ( sorted (d.key()))

更多示例:http://www.cnblogs.com/tkqasn/p/5977653.html


三、集合推导式

它们跟列表推导式也是类似的。 唯一的区别在于它使用大括号{}。

例一:

squared = {x**2 for x in [1, 1, 2]}
print(squared)
# Output: set([1, 4])



本文转自 326647452 51CTO博客,原文链接:http://blog.51cto.com/svsky/1945844,如需转载请自行联系原作者
相关文章
|
5天前
|
人工智能 Python
[oeasy]python089_列表_删除列表项_remove_列表长度_len
本文介绍了Python列表(list)的操作方法,重点讲解了`remove`方法的使用。通过实例演示如何删除列表中的元素,探讨了`ValueError`异常产生的原因,并分析了时间复杂度O(n)的概念。同时提及了`clear`方法清空列表的功能及`len`函数获取列表长度的用法。最后以购物清单为例,展示列表的实际应用场景,并预告快速生成列表的方法将在后续内容中介绍。
106 62
|
1天前
|
人工智能 索引 Python
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
38 19
|
3天前
|
Python 容器
[oeasy]python090_列表_构造_范围_range_start_end_step_步长
本文介绍了Python中列表的生成方法,重点讲解了`range()`函数的使用。通过`range(start, stop, step)`可生成一系列整数,支持正负步长,但不支持小数参数。文章从基础的列表追加、直接赋值到复杂的应用场景(如生成等宽字体的月份列表),结合实例演示了`range()`的灵活性与实用性。最后总结了`range()`的关键特性:前闭后开、支持负数步长,并提供了进一步学习的资源链接。
36 12
|
7天前
|
人工智能 Python
[oeasy]python088_列表_清空列表_clear
本文介绍了Python中列表的清空方法`clear`。通过实例讲解了`clear`与将列表赋值为空列表的区别,前者会清空原列表内容,而后者创建新空列表,不影响原列表。文中以收银程序为例,展示了`clear`的实际应用场景,并通过地址观察解释了两者的机制差异。最后总结了相关术语如`list`、`append`、`clear`等,帮助理解列表操作及方法调用的概念。
36 5
|
11月前
|
Python
掌握Python中的集合推导式
掌握Python中的集合推导式
141 2
|
11月前
|
存储 数据处理 Python
深入剖析Python集合推导式的独特之处
深入剖析Python集合推导式的独特之处
|
11月前
|
Python
探索Python集合推导式的进阶应用
探索Python集合推导式的进阶应用
|
11月前
|
数据处理 Python
Python集合推导式的优雅与实用
Python集合推导式的优雅与实用
|
11月前
|
数据采集 算法 数据处理
Python集合推导式的深度探索与实际应用
Python集合推导式的深度探索与实际应用
|
11月前
|
数据处理 Python
Python集合推导式7
Python集合推导式7