使用列表推导根据列表中的条件更改字符串

问题描述

假设我有一个这样的列表:

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))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...