三大推导式

作者:管理员 发布时间:2020-12-25 15:39

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

列表推导式

list2 = [i + i for i in list1]
print(list2)
# output
[2, 4, 6, 8, 10, 12]

list3 = [i**3 for i in list1]
print(list3)
# output
[1, 8, 27, 64, 125, 216]

# 有选择性的筛选
list4 = [i*i for i in list1 if i > 3]
print(list4)
# output
[16, 25, 36]


字典推导式

list1 = {1,2,3,4,5,6}

list2 = {i + i for i in list1}
print(list2)

list3 = {i**3 for i in list1}
print(list3)

# 有选择性的筛选
list4 = {i*i for i in list1 if i > 3}
print(list4)


# output
{2, 4, 6, 8, 10, 12}
{64, 1, 8, 216, 27, 125}
{16, 25, 36}



集合推导式

s = {
    "zhangsan": 20,
    "lisi": 15,
    "wangwu": 31
}

# 拿出所有的key,并变成列表
s_key = [key for key, value in s.items()]
print(s_key)

# key和value颠倒
s1 = {value: key for key, value in s.items()}
print(s1)

# 只拿出符合条件的值
s2 = {key:value for key,value in s.items() if key == "lisi"}
print(s2)


# output
['zhangsan', 'lisi', 'wangwu']
{20: 'zhangsan', 15: 'lisi', 31: 'wangwu'}
{'lisi': 15}




标签:
Copyright © 2020 万物律动 旗下 AI算法狮 京ICP备20010037号-1
本站内容来源于网络开放内容的收集整理,并且仅供学习交流使用;
如有侵权,请联系删除相关内容;