推导式
-
Python语言有一种独特的语法,相当于语法糖的存在,可以帮你在某些场合写出比较精简酷炫的代码。但没有它,也不会有太多的影响。Python语言有几种不同类型的推导式
-
列表推导式
-
列表推导式是一种快速生成列表的方式。其形式是用方括号括起来的一段语句,如下例子所示:
-
lis = [x*2 for x in range(1, 10)] print(lis)
-
列表推导式要这么理解,首先执行for循环,对于遍历的每一个x,代入x*x表达式中进行运算,将运算结果逐一添加到一个新列表内,循环结束,得到最终列表。它相当于下面的代码:
-
lis = [] for i in range(1, 10): lis.append(i*i) print(lis)
-
作用:
-
增加条件语句
-
alist = [x * x for x in range(1, 11) if x % 2 == 0] print(alist)
-
多重循环
-
#同时循环a和b两个变量。 re = [a + b for a in '123' for b in 'abc'] print(re)
-
-
字典推导式
-
集合推导式
-
元组推导式
推导式
-
列表推导式(生成式)
l = [1, 2, 3, 4] 返回一定是个列表 print([i * i for i in l if i % 2 == 0])
-
字典推导式(生成式)
dic = {"id":1001,"name":"yuan","age":22,"weight":"70kg","scores":76} # new_dic = {} # new_dic["name"] = dic.get("name") # new_dic["scores"] = dic.get("scores") # print(new_dic)
-
字典推导式
{k:v for k,v in dic.items()} new_dic = {k:v for k, v in dic.items()} print(new_dic)
-
将一个字典的键值倒换
new_dic2 = {v:k for k, v in dic.items()} print(new_dic2)
-
将一个字典的键转换成大写
new_dic3 = {k.upper():v for k, v in dic.items()} print(new_dic3)
-
保留name和score两个键值对
new_dic4 = {k:v for k, v in dic.items() if k=="name" or k=="scores"} print(new_dic4) print(any([True,False,False])) print(all([False,True,True])) l = [1,3,4,2] l.sort(reverse=True) print(l) print(sorted(l,reverse=True))