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,如需转载请自行联系原作者
相关文章
|
15小时前
|
Python
【Python操作基础】——字典,迭代器和生成器
【Python操作基础】——字典,迭代器和生成器
|
15小时前
|
Python
【Python操作基础】——列表操作
【Python操作基础】——列表操作
|
18小时前
|
索引 Python
Python中的列表、元组和字典各具特色
Python中的列表、元组和字典各具特色:列表是可变的,元组不可变,字典亦可变;列表和元组有序,字典无序(但在Python 3.7+保持插入顺序);元素类型上,列表和元组元素任意,字典需键不可变;列表用方括号[],元组用圆括号(),字典用大括号{}表示。列表不适合作字典键,元组可以。选择数据结构应依据实际需求。
7 2
|
3天前
|
开发者 Python
【Python 基础】递推式构造字典(dictionary comprehension)
【5月更文挑战第8天】【Python 基础】递推式构造字典(dictionary comprehension)
|
4天前
|
BI Python
深入浅出:讲解Python中的列表推导式
深入浅出:讲解Python中的列表推导式
|
2月前
|
存储 数据库 索引
Python新手常见问题一:列表、元组、集合、字典区别是什么?
本文针对Python编程新手常遇到的问题,详细阐述了列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)这四种数据结构的核心区别。列表是一种有序且可变的数据序列,允许元素重复;元组同样有序但不可变,其内容一旦创建就不能修改;集合是无序、不重复的元素集,强调唯一性,主要用于数学意义上的集合操作;而字典则是键值对的映射容器,其中键必须唯一,而值可以任意,它提供了一种通过键查找对应值的有效方式。通过对这些基本概念和特性的对比讲解,旨在帮助初学者更好地理解并运用这些数据类型来解决实际编程问题。
43 1
|
2月前
|
索引 Python 存储
Python 04 之变量【列表,元组,集合,字典,字符串】
Python 04 之变量【列表,元组,集合,字典,字符串】
58 0
Python 04 之变量【列表,元组,集合,字典,字符串】
|
5天前
|
Python
【Python 基础】列表(list)和元组(tuple)有什么区别?
【5月更文挑战第6天】【Python 基础】列表(list)和元组(tuple)有什么区别?
|
13天前
|
存储 索引 Python
【Python21天学习挑战赛】-列表 & 元组 & range
【Python21天学习挑战赛】-列表 & 元组 & range
|
17天前
|
机器学习/深度学习 存储 数据挖掘
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。