问题描述
a = ['abc1','2def','g3h']
我正在尝试使用列表理解来做到这一点:
['abc','def','gh']
我尝试过的:
[''.join([x for y in a for x in y if x.isalpha()])]
产生:
# ['abcdefgh']
是否有使用列表推导式实现 ['abc','gh']
的巧妙方法?
解决方法
在嵌套理解中使用 str.join
例如:
a = ['abc1','2def','g3h']
print(["".join(j for j in i if j.isalpha()) for i in a])
# -> ['abc','def','gh']
,
如果您可以使用正则表达式,我会这样做:
B
,
地图和过滤器的使用
list(map(lambda x:"".join(filter(lambda y:y.isalpha(),x)),a))