蓝色系列的网站,免费发布信息网站大全注册,北京南站是高铁站吗,电子商务平台是什么Python 中常见的数据结构之二推导式 使用推异式列表推导式字典推导式集合推导式 使用推异式
推导式是一种从已存在的序列中快速构建列表(list)、集合(set) 和 字典(dictionary)方式。Python 支持 3 种不同类型的推导式#xff1a;
列表推导式#xff1b;字典推导式#xf… Python 中常见的数据结构之二推导式 使用推异式列表推导式字典推导式集合推导式 使用推异式
推导式是一种从已存在的序列中快速构建列表(list)、集合(set) 和 字典(dictionary)方式。Python 支持 3 种不同类型的推导式
列表推导式字典推导式集合推导式。
接下来我就讲解这四种推导式。
列表推导式
列表推导式包括使用循环和条件语句如果需要创建动态列表。下面的几个例子将有助于理解推导式的概念其中主要展示了怎么使用列表推式。请看例子新创建的列表中的每个元素是原来列表中相应表素加 1
list1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list2 [x 1 for x in list1]
print(list1)
print(list2)以上代码的输出结果是
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]上面的代码中创建 list2 的代码等价于下面的代码
list2 []
for x in list1:list2.append(x 1)在下面这个第二个例子中我们从原始的列表中创建了一个只包含偶数的新的列表只需要简单地添加一个条件即可
list1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list2 [x for x in list1 if x % 2 0]
print(list1)
print(list2以上代码的输出结果是
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8]可以看到我们把条件添加到了推导式的结尾处。
字典推导式
字典也可以通过推导式创建。字典推导式和列表推导式类似是一种从一个字典中创建另一个字典的方案。这种方案允许在原来的字典中选择满足条件的元素创建新字典。请看下面的代码我们从 dict1 中选择值小于或等于200的元素将值 除以 2和原来的键一起放入新字典中。
dict1 {a:100, b:200, c:300}
dict2 {x:int(y / 2) for (x, y) in dict1.items() if y 200}print(dict1)
print(dict2)下面是输出结果
{a: 100, b: 200, c: 300}
{a: 50, b: 100}上面代码里的字典推导式等价于
dict2 {}
for x, y in dict1.items():if y 200:dict2[x] int(y / 2)使用推导式可以显著地减少代码。
集合推导式
集合也可以通过推导式创建。集合推导式的语法和列表推导式似只是列现用方括号集合用花括号而已。请看下面的代码
list1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 6, 8]
set1 {x 1 for x in list1 if x % 2 0}
print(list1)
print(set1)上面代码的输出结是
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 6, 8]
{1, 3, 5, 7, 9}可以看到重复元素会被删除。
上面的推导式等价于下面的使用循环的代码
set1 set()
for x in list1:if x % 2 0:set1.add(x)完