first commit

This commit is contained in:
2025-08-27 14:39:37 +08:00
commit 81ebee9cf3
97 changed files with 14191 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
# 推导式
## 推导式详细格式
```plain
variable = [out_exp_res for out_exp in input_list if out_exp == 2]
out_exp_res:  列表生成元素表达式,可以是有返回值的函数。
for out_exp in input_list  迭代input_list将out_exp传入out_exp_res表达式中。
if out_exp == 2  根据条件过滤哪些值可以。
```
## 列表推导式
30以内所有能被3整除的数
```python
multiples = [i for i in range(30) if i % 3 is 0]
print(multiples)
```
30以内所有能被3整除的数的平方
```python
def squared(x):
return x*x
multiples = [squared(i) for i in range(30) if i % 3 is 0]
print(multiples)
```
找到嵌套列表中名字含有两个及以上a的所有名字
```python
fruits = [['peach','Lemon','Pear','avocado','cantaloupe','Banana','Grape'],
['raisins','plum','apricot','nectarine','orange','papaya']]
print([name for lst in fruits for name in lst if name.count('a') >= 2])
```
## 字典推导式
将一个字典的key和value对调
```python
dic1 = {'a':1,'b':2}
dic2 = {dic1[k]: k for k in dic1}
print(dic2)
```
合并大小写对应的value值将k统一成小写
```python
dic1 = {'a':1,'b':2,'A':4,'Y':9}
dic2 = {k.lower():dic1.get(k.lower(),0) + dic1.get(k.upper(),0) for k in dic1.keys()}
print(dic2)
```
## 集合推导式
计算列表中每个值的平方,自带去重功能
```python
l = [1,2,3,4,1,-1,-2,3]
squared = {x**2 for x in l}
print(squared)
```
## 练习题
1. 过滤掉长度小于3的字符串列表并将剩下的转换成大写字母
2. 求(x,y)其中x是0-5之间的偶数y是0-5之间的奇数组成的元祖列表
3. 将1000以内的素数放入一个列表中