当前位置: 首页 > news >正文

初识python:一些基础的知识(推导式)

python3中的推导式

列表推导式

列表推导式的使用方法:

[表达式 for 变量 in 列表] 这样的,以及[表达式 for 变量 in 列表 if 条件]

lst = [1,2,3,4,5]
lst1 = [i for i in lst if i>3]
print(lst1)
'''
[4, 5]
'''
lst = ['qbz95','qbz191','qcq171','xm7','m4','akm']
lst1 = [print(i) for i in lst if len(i)<=3]
print(lst1)
'''
xm7
m4
akm
[None, None, None]
'''

元组推导式

元组推导式的使用方法和列表推导式的使用方法基本一致,外面包裹的[]变成了()。
可以通过range,字典,列表,元组,集合等快速生成一个新的元组,举例:
a = (i for i in range(10))
print(a)
'''
<generator object at 0x000001985197E980>
'''
可以看到返回的类型是一个生成器类型,这个时候我们可以使用tuple函数将这个生成器类型转换为元组类型,举例:

print(tuple(a))
'''
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
'''

字典推导式

字典推导式的使用方法:

{键_表达式 : 值_表达式 for 变量 in 列表} #要注意这里最后是列表而不是字典

{键_表达式 : 值_表达式 for 变量 in 列表 if 条件表达式}
lst = ['qbz95','qcq171','xm7','m4','akm']
dic = {key:len(key) for key in lst}
print(dic)
'''
{'qbz95': 5, 'qcq171': 6, 'xm7': 3, 'm4': 2, 'akm': 3}
'''
print(type(dic))
'''
<class 'dict'>
'''
提供3个数字,并以三个数字为键,三个数字的平方为值来创建字典:
x = list()
for i in range(3):
input_val = input(f'请输入第{i+1}个数字')
x.append(int(input_val))
print('最后的列表为',x)
new_dic = {value:value**2 for value in x}
print('最后的字典为 '+ str(new_dic))
'''
最后的列表为 [4, 1, 7]
最后的字典为 {4: 16, 1: 1, 7: 49}
'''

集合推导式

集合推导式的使用方法:

{表达式 for 变量 in 序列}

{表达式 for 变量 in 序列 if 条件判断}
new_set = {i**2 for i in range(10)}
print(new_set)
'''
{0, 1, 64, 4, 36, 9, 16, 49, 81, 25}
'''
集合推导式和字典推导式很像,都是用花括号进行分隔,不同点在于字典推导式前方表达式中的形式为key:value,而集合推导式中的表达式部分的形式为value,输出的格式不同,这就是两者之间的区别。
new_set1 = {x for x in 'aboiasjdfoic' if x not in 'abc'}
print(new_set1)
'''
{'f', 's', 'i', 'd', 'j', 'o'}
'''

http://www.wxhsa.cn/company.asp?id=907

相关文章:

  • RK3588+preemrt+ethercat搭建
  • Windows 11 系统优化
  • 碎碎念(十六)
  • PK-2600-ALG-2 三同轴转鳄鱼夹测试线应用案例
  • RK3588+xenomai3+ethercat搭建
  • 从英伟达到国产算力:一场必须打赢的“迁移之战”
  • 小说写法分析-个人随记
  • Nuget的不是所配置的源之一
  • part 3
  • 微服务高可用高并发方案
  • Adobe PDF Reader实现旋转PDF功能
  • start.bat
  • 外泌体适配体筛选的 SELEX 技术:5 大核心方法拆解,精准捕捉 “细胞信使”
  • 知识点 AlexNet(2/8)
  • QtCreator问题输出框 MSVC编译出现中文乱码报错
  • Gitee DevOps本土化实践:为中国开发者打造全流程效能引擎
  • pip安装临时使用清华源
  • nginx 企业
  • java毕业设计-基于jspm网上书店管理系统(源码+LW+部署文档+全bao+远程调试+代码讲解等) - 详解
  • redis scan命令替换keys 命令
  • 聊一聊 .NET 某企业ECM内容管理系统 内存暴涨分析
  • SQL之字符串问题大坑
  • 可编辑区域
  • ES 跨订单的详情全局分页 解决
  • macbook pro2012怎么安装windows系统
  • docker-compose安装PostgreSQL和pgvector向量数据库
  • 【连续五届稳定检索、院士杰青云集】第六届先进材料与智能制造国际学术会议(ICAMIM 2025)
  • macbook airװwindowsϵͳ
  • 微信小程序语音转文字
  • 解决 windows远程桌面报错“CredSSP加密数据库修正”