Sirius' blog Sirius' blog
首页
  • 学习笔记

    • 《C++》
    • 《MATLAB》
    • 《Python》
  • 学习笔记

    • 《Git》
    • 《CMake》
  • 技术文档
  • 博客搭建
  • 学习
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Sirius0v0

怕什么真理无穷,进一寸有一寸的欢喜
首页
  • 学习笔记

    • 《C++》
    • 《MATLAB》
    • 《Python》
  • 学习笔记

    • 《Git》
    • 《CMake》
  • 技术文档
  • 博客搭建
  • 学习
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Python学习_基础语法(一)
  • Python学习_运算符
  • Python学习_函数
  • Python学习_异常
  • Python学习_文件
  • Python学习_全局变量与局部变量
  • Python学习_推导式
    • 格式
    • 格式
  • Python_生成器和迭代器
  • Python学习_面向对象
  • Python学习_OS模块
  • 《Python》学习笔记
Sirius0v0
2020-10-21
目录

Python学习_推导式

# 列表推导式

# 格式

[表达式 for 变量 in 旧列表]
[表达式 for 变量 in 旧列表 if 条件]
names = ['tom','lily','abs','jack','steven','jenny','danny']
result = [name.capitalize() for name in names if len(name)>3]
print(result)

>> ['Lily', 'Jack', 'Steven', 'Jenny', 'Danny']
  • 元组、字典也有类似用法
# 嵌套的用法

list1 = [(x, y) for x in range(4) if x % 2 == 0 for y in range(4) if y % 2 != 0]
print(list1)

>> [(0, 1), (0, 3), (2, 1), (2, 3)]
# 字典推导式
dict1 = {'name':'Tom','salary':4000}
dict2 = {'name':'Lucy','salary':5000}
dict3 = {'name':'Jack','salary':4500}
dict4 = {'name':'Lily','salary':7000}
list1 = [dict1, dict2, dict3, dict4]

newlist = [employee['salary']+200 if employee['salary']>5000 else employee['salary']+500 for employee in list1]
print(newlist)

>> [4500, 5500, 5000, 7200]

# 集合推导式

# 格式

{表达式 for 变量 in 旧列表}
{表达式 for 变量 in 旧列表 if 条件}
  • 与列表推导式一致,多了一个去重的功能

# 字典推导式

dict1 = {'a':'A','b':'B','c':'C','d':'C'}
newdict = {value:key for key, value in dict1.items()}
print(newdict)

>> {'A': 'a', 'B': 'b', 'C': 'd'}
编辑 (opens new window)
#Python
上次更新: 2023/08/09, 13:21:24
Python学习_全局变量与局部变量
Python_生成器和迭代器

← Python学习_全局变量与局部变量 Python_生成器和迭代器→

最近更新
01
ipopt优化库配置及使用
07-21
02
ubuntu离线安装包的方法
07-21
03
其它控件的使用
03-05
更多文章>
Theme by Vdoing | Copyright © 2020-2024 Sirius0v0 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式