Python中的几种推导式用法,先收藏再说......
嗨害大家好鸭!我是小熊猫❤
今天我们来整点非常干的干货:
源码、资料电子书点击此处
Python 推导式是一种独特的数据处理方式, 可以从一个数据序列构建另一个新的数据序列的结构体。
Python 支持各种数据结构的推导式:
-
列表(list)推导式 字典(dict)推导式 集合(set)推导式 元组(tuple)推导式
1.列表推导式
列表推导式格式为:
[表达式 for 变量 in 列表] [out_exp_res for out_exp in input_list] 或者 [表达式 for 变量 in 列表 if 条件] [out_exp_res for out_exp in input_list if condition]
-
out_exp_res:列表生成元素表达式,可以是有返回值的函数。 for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。 if condition:条件语句,可以过滤列表中不符合条件的值。
过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母:
>>> names = [Bob,Tom,alice,Jerry,Wendy,Smith] >>> new_names = [name.upper()for name in names if len(name)>3] >>> print(new_names) [ALICE, JERRY, WENDY, SMITH]
2.字典推导式
字典推导基本格式:
{ key_expr: value_expr for value in collection } 或 { key_expr: value_expr for value in collection if condition }
使用字符串及其长度创建字典:
提供三个数字,以三个数字为键, 三个数字的平方为值来创建字典:
>>> dic = { x: x**2 for x in (2, 4, 6)} >>> dic { 2: 4, 4: 16, 6: 36} >>> type(dic) <class dict>
3.集合推导式
集合推导式基本格式:
{ expression for item in Sequence } 或 { expression for item in Sequence if conditional }
计算数字 1,2,3 的平方数:
>>> setnew = { i**2 for i in (1,2,3)} >>> setnew { 1, 4, 9}
判断不是 abc 的字母并输出:
>>> a = { x for x in abracadabra if x not in abc} >>> a { d, r} >>> type(a) <class set>
4.元组推导式
元组推导式可以利用 range 区间、元组、列表、字典和集合等数据类型, 快速生成一个满足指定需求的元组。
元组推导式基本格式:
(expression for item in Sequence ) 或 (expression for item in Sequence if conditional )
今天的文章就是这样啦
希望可以帮到你鸭~
我是小熊猫,咱下篇文章再见啦(✿◡‿◡)
上一篇:
JS实现多线程数据分片下载
下一篇:
计算机毕业设计之校园网上点餐系统