python 推倒式

Posted on 2019-09-20 19:05  S-skill  阅读(502)  评论(0)    收藏  举报
1. 各种推倒式和生成器表达式
1. 列表推倒式 [结果 for 变量 in 可迭代对象 if 筛选]
2. 字典推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 => key:value
3. 集合推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 => key 自带去重功能



1. 列表推倒式: 最终给你的是列表
# 语法 [最终结果(变量) for 变量 in 可迭代对象]
lst = [i for i in range(10)]
print(lst)

# [最终结果 for 变量 in 可迭代对象 if 条件]
lst = [i for i in range(10) if i % 2 == 0]
print(lst)

 

2. 生成器表达式(生成器推倒式)
g = (i for i in range(10))

print(list(g))
print(g.__next__())
for e in g:
    print(e)

 

3. 字典推倒式

dic = {"a":"b", "c":"d"}
# 把字典中的key:value互换, {"b":"a","d":"c"}
new_dic = {dic[key]:key for key in dic} # key值是里面的 key = a,key = c
print(new_dic)  # key = a,key = c dic[key] = b, d


lst1 = ["复仇者联盟","迪迦","哥斯拉","中国"]
lst2 = ["电影", "奥托曼", "怪兽", "亚洲"]
dic = {lst2[i]:lst1[i] for i in range(len(lst1))}
print(dic)

 

4. 集合推倒式
lst = ["课程", "课程", "11", "22", "11", "帅哥", "绅士", "绅士"]
s = {i for i in lst}        # 集合推倒试 (去重)
print(s)

 

 

 



 
 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3