Python基础之各种推导式玩法
2024-08-27 09:35:38
一、推导式套路
除了我们之前所学习的列表推导式和生成器表达式之外,还有字典推导式、集合推导式等等。
下面就是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式。
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整除的数
multiples = [i for i in range(31) if i % 3 == 0]
print(multiples)
例二:30以内所有能被3整除的数的平方
multiples = [i ** 2 for i in range(31) if i % 3 == 0]
print(multiples)
例三:找到嵌套列表中名字含有两个“e“的所有名字
names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']] print([name for lst in names for name in lst if name.count('e') >= 2]) # 注意遍历顺序,这是实现的关键
三、字典推导式
例一:将一个字典的key和value对调
mcase = {'a': 10, 'b': 34}
mcase_frequency = {value:key for key, value in mcase.items()}
print(mcase_frequency)
例二:合并大小写对应的value值,将k统一成小写
mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
mcase_frequency = {k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0) for k in mcase.keys()}
print(mcase_frequency)
四、集合推导式
例:计算列表中每个值的平方,自带去重功能
squared = {x**2 for x in [1, -1, 2]}
print(squared)
最新文章
- 2016年6月份那些最实用的 jQuery 插件专辑
- 《深入浅出WPF》笔记一
- Linux在Hyper-V中实现与Windows的宽带共享上网
- SQLite数据库在本地可以写,发布到服务器就不能写
- 17.allegro导入导出[原创]
- ACM - ICPC World Finals 2013 H Матрёшка
- HDOJ/HDU 2203 亲和串(简单的判断~Java的indexOf()方法秒)
- altium designer Summer09出现的问题解决方案
- H5中背景音乐无法自动播放问题
- JS或jQuery实现一组复选框的全选和取消全选?
- Quartz 任务调度(转)
- Web自动化框架LazyUI使用手册(7)--浏览器常用操作API
- 关于Boost在工程下的配置
- 最近公共祖先(least common ancestors,LCA)
- python之初级篇2
- Linux--抓取Appium网站命令
- node项目中用到的一些模块
- 米勒罗宾素性测试(Miller–Rabin primality test)
- TabHost随着输入法软键盘出现而上浮的问题
- PHP 数组与CSV文件互转
热门文章
- redis主从中断异常处理
- Java Web-Redis学习
- VBA While Wend循环
- 如果只有1小时学Python,看这篇就够了
- css 层叠 比较特殊性
- Python基础Day5
- 异常-Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=hdfs, access=WRITE, inode=";/hbase";:root:supergroup:drwxr-xr-x
- 【OF框架】使用OF.WinService项目,添加定时服务,进行创建启动停止删除服务操作
- 基于fastai的分类网络
- frp服务搭建