当前位置:   article > 正文

python进阶——推导式(Comprehesion)_只人州推导式可以从一个数据序列构建另一个新的数据序列的结构体。本质上可以

只人州推导式可以从一个数据序列构建另一个新的数据序列的结构体。本质上可以

推导式(解析式):可以从一个数据序列构建另一个新的数据序列的结构体。

一、列表(list)推导式

它的结构是在一个中括号中包含一个表达式,然后是一个for循环,然后是0个或多个for或者if语句。
比如:

multiples=[i for i in range(30) if i % 3 == 0]
print(multiples)
输出:
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
  • 1
  • 2
  • 3
  • 4

再比如:

squared=[x**2 for x in range(10)]
print(squared)
输出:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  • 1
  • 2
  • 3
  • 4

二、字典(dict)推导式

字典推导和列表推导类似。
比如:

mcase={'a':10,'b':20,'A':8,'c':9}
mcase_fre={k.lower():mcase.get(k.lower(),0)+mcase.get(k.upper(),0)for k in mcase.keys()}
print(mcase_fre)
输出:
{'a': 18, 'b': 20, 'c': 9}
print({v:k for k,v in mcase.items()})
输出:
{10: 'a', 20: 'b', 8: 'A', 9: 'c'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

三、集合(set)推导式

他们跟列表推导式类似,唯一区别是大括号{ }
例如:

squared={x**2 for x in [1,1,2]}
ex={1,2,3}
print(squared)
print(ex.difference(squared))
print(ex.intersection(squared))
输出:
{1, 4}
{2, 3}
{1}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这里复习了一下集合的交际和并集。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/207948
推荐阅读
相关标签
  

闽ICP备14008679号