自学Python--各种推导式

本文介绍了使用Python进行高效数据处理的方法,包括利用列表、字典和集合推导式来简化编程任务,例如筛选字符串、对调字典键值以及计算平方并去重等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表推导式:

找出names中含有两个相同字符的字符串:

# 找出names中含有两个相同字符的字符串
names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'], 
    ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva', 'Clara']]

l = [i for x in names for i in x if len(set(i)) + 1 == len(i)]
print(l) # ['Billy', 'Wesley', 'Steven', 'Jill', 'Sherry', 'Clara']

 

字典推导式:

将一个字典的key和value对调:

d = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5, 'f':6}
res = {d[k]:k for k in d}
print(res) # {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e', 6: 'f'}

 

合并大小写对应的value值并将k统一小写:字典get方法默认值

d = {'a':10, 'b':12, 'A':7, 'Z':3}
res = {k.lower():d.get(k.lower(), 0) + d.get(k.upper(), 0) for k in d}
print(res) # {'a': 17, 'b': 12, 'z': 3}

 

集合推导式:

计算列表每个值的平方并去重:

l = [1, -1, 2]
res = {x * x for x in l}
print(res) # {1, 4}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值