【理解Python中的字典推导式】

当谈到理解Python中的推导式(特别是字典推导式)时,通过具体的例子来展示其用法是非常有效的。下面我将提供几个例子来帮助你更好地理解字典推导式的应用。

1. 字典变换

假设我们有一个包含股票代码和价格的字典,我们想要将每个股票的价格都增加2%。

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)
# 输出: {'AAPL': 123.42, 'AMZN': 3447.6, 'MSFT': 223.38, 'BIIB': 285.6, 'QDEL': 271.32, 'LVGO': 146.88}

2. 字典过滤

假设我们想要从上面的stocks字典中筛选出价格大于200的股票。

# 使用字典推导式
selected_stocks = {s: p for s, p in stocks.items() if p > 200}

print(selected_stocks)
# 输出: {'AMZN': 3380}

3. 字典键值处理

假设我们有一个字典,其键和值都是字符串,我们想要将键转换为大写,值转换为小写。

original_dict = {'name': 'Alice', 'age': '30', 'city': 'New York'}

# 使用字典推导式
processed_dict = {key.upper(): value.lower() for key, value in original_dict.items()}

print(processed_dict)
# 输出: {'NAME': 'alice', 'AGE': '30', 'CITY': 'new york'}

4. 合并列表为字典

假设我们有两个列表,一个包含键,另一个包含值,我们想要将它们合并成一个字典。

keys = ['a', 'b', 'c']
values = [1, 2, 3]

# 使用zip和字典推导式
merged_dict = {k: v for k, v in zip(keys, values)}

print(merged_dict)
# 输出: {'a': 1, 'b': 2, 'c': 3}

5. 字典条件赋值

假设我们有一个包含学生姓名和分数的字典,我们想要创建一个新字典,其中分数高于60的学生通过,否则标记为’Fail’。

scores = {'Alice': 75, 'Bob': 55, 'Charlie': 85}

# 使用字典推导式
pass_fail = {name: 'Pass' if score > 60 else 'Fail' for name, score in scores.items()}

print(pass_fail)
# 输出: {'Alice': 'Pass', 'Bob': 'Fail', 'Charlie': 'Pass'}

总结

通过上述例子,你可以看到字典推导式在Python中是一个非常强大且灵活的工具,它允许你以简洁的方式创建、变换和过滤字典。无论是增加价格、筛选数据、处理键值,还是合并列表为字典,字典推导式都能提供高效的解决方案。

相关推荐

  1. 理解Python字典推导

    2024-07-19 17:56:04       18 阅读
  2. 谈谈Python列表推导字典推导

    2024-07-19 17:56:04       36 阅读
  3. Python在生物信息学应用:列表推导

    2024-07-19 17:56:04       45 阅读
  4. Python,括号内部for循环(列表推导

    2024-07-19 17:56:04       39 阅读
  5. Python列表推导(List Comprehension)

    2024-07-19 17:56:04       43 阅读
  6. 深入浅出:讲解Python列表推导

    2024-07-19 17:56:04       35 阅读
  7. python列表推导

    2024-07-19 17:56:04       24 阅读
  8. Python使用列表推导List Comprehension8个层次

    2024-07-19 17:56:04       57 阅读
  9. python推导

    2024-07-19 17:56:04       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 17:56:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 17:56:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 17:56:04       58 阅读
  4. Python语言-面向对象

    2024-07-19 17:56:04       69 阅读

热门阅读

  1. Qt 遍历Combbox下拉框的内容并进行判断

    2024-07-19 17:56:04       17 阅读
  2. 数据库存 IP 地址,用什么数据类型比较好?

    2024-07-19 17:56:04       16 阅读
  3. linux报错-bash: ./xx.sh: Permission denied

    2024-07-19 17:56:04       15 阅读
  4. 网络安全等级保护制度是如何分级的?

    2024-07-19 17:56:04       19 阅读
  5. 【Leetcode】14. 最长公共前缀

    2024-07-19 17:56:04       17 阅读
  6. 从零开始!Jupyter Notebook 安装教程

    2024-07-19 17:56:04       21 阅读
  7. iptables

    iptables

    2024-07-19 17:56:04      19 阅读