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 )

今天的文章就是这样啦

希望可以帮到你鸭~

我是小熊猫,咱下篇文章再见啦(✿◡‿◡)

经验分享 程序员 微信小程序 职场和发展