【理解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中是一个非常强大且灵活的工具,它允许你以简洁的方式创建、变换和过滤字典。无论是增加价格、筛选数据、处理键值,还是合并列表为字典,字典推导式都能提供高效的解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值