码迷,mamicode.com
首页 > 其他好文 > 详细

各种推导式

时间:2018-02-07 19:42:13      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:int   key   列表   and   gpo   公式   list   red   嵌套   

1、列表推导式

公式:[ 变量(加工后的变量) for 变量i in 可迭代的数据类型 ]
#例一:求10以内所有的整数(不包括0)
list1 = [i for i in range(1,11)]
print(list1)
#输出结果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


#例二:30以内所有能被3整除的数
list2 = [i for i in range(30) if i % 3 == 0]
print(list2)
#输出结果
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]


# 例三:找到嵌套列表中名字含有两个‘e’的所有名字
names = [[‘Tom‘, ‘Billy‘, ‘Jefferson‘, ‘Andrew‘, ‘Wesley‘, ‘Steven‘, ‘Joe‘],
         [‘Alice‘, ‘Jill‘, ‘Ana‘, ‘Wendy‘, ‘Jennifer‘, ‘Sherry‘, ‘Eva‘]]

list3 = [name  for lst in names  for name in lst  if name.count(‘e‘) >= 2]
print(list3)  # 注意遍历顺序,这是实现的关键
#输出结果
[‘Jefferson‘, ‘Wesley‘, ‘Steven‘, ‘Jennifer‘]

2、字典的推导式

# 例:将一个字典的key和value对调
dict1 = {‘a‘: 10, ‘b‘: 20, ‘c‘: 30, ‘d‘: 40}
swapDict = {dict1[k]: k for k in dict1}
print(swapDict)
#输出结果
{10: ‘a‘, 20: ‘b‘, 30: ‘c‘, 40: ‘d‘}

3、集合推导式

squared = {x**2 for x in [1, -1, 2]}
print(squared)
#输出结果
{1, 4}

 

各种推导式

标签:int   key   列表   and   gpo   公式   list   red   嵌套   

原文地址:https://www.cnblogs.com/lioushell/p/8427406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!