【Python入门教程】第42篇 字典推导式
2022/2/4 20:14:24
本文主要是介绍【Python入门教程】第42篇 字典推导式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本篇我们将会介绍如何利用字典推导式(dictionary comprehension)对字典元素进行变换和过滤。
字典推导式简介
字典推导式可以针对字典执行一个 for 循环,对每个元素执行某些操作(例如变换或者过滤),然后返回一个新的字典。
与 for 循环不同,字典推导式提供了一个更具表达能力和简洁性的语法。以下是字典推导式的基本语法:
{key:value for (key,value) in dict.items() if condition}
字典推导式的返回结果是一个新的字典,元素由表达式 key: value 指定。
字典推导式示例
下面我们通过两个示例来了解一下字典推导式的应用。
示例一:字典变换
字典 stocks 包含了股票代码和价格:
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 }
以下代码将每个股票的价格都增加了 2%:
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 } new_stocks = {} for symbol, price in stocks.items(): new_stocks[symbol] = price*1.02 print(new_stocks)
输出结果如下:
{'AAPL': 123.42, 'AMZN': 3447.6, 'MSFT': 223.38, 'BIIB': 285.6, 'QDEL': 271.32, 'LVGO': 146.88}
以上代码的执行过程如下:
- 首先,遍历字典 stocks 中的每个元素。
- 其次,将价格增加 2% 并且将结果添加到新的字典 new_stocks。
以下示例使用字典推导式实现了相同的结果:
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 } new_stocks = {symbol: price * 1.02 for (symbol, price) in stocks.items()} print(new_stocks)
下面的 for 循环和字典推导式等价:
# for 循环 new_stocks = {} for symbol, price in stocks.items(): new_stocks[symbol] = price*1.02 # 字典推导式 new_stocks = {symbol: price * 1.02 for (symbol, price) in stocks.items()}
示例二:字典过滤
以下 for 循环用于返回价格大于 200 的股票:
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 } selected_stocks = {} for symbol, price in stocks.items(): if price > 200: selected_stocks[symbol] = price print(selected_stocks)
以上代码的执行过程如下:
- 首先,遍历字典 stocks 中的元素。
- 然后,如果股票价格大于 200,将其添加到新的字典 selected_stocks。
以下示例使用字典推导式实现了相同的结果:
stocks = { 'AAPL': 121, 'AMZN': 3380, 'MSFT': 219, 'BIIB': 280, 'QDEL': 266, 'LVGO': 144 } selected_stocks = {s: p for (s, p) in stocks.items() if p > 200} print(selected_stocks)
下面的 for 循环和字典推导式等价:
# for 循环 selected_stocks = {} for symbol, price in stocks.items(): if price > 200: selected_stocks[symbol] = price # 字典推导式 selected_stocks = {s: p for (s, p) in stocks.items() if p > 200}
总结
- 字典推导式用于遍历字典中的元素并且对其进行变换或者过滤,然后创建一个新的字典。
这篇关于【Python入门教程】第42篇 字典推导式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程