我正在学习Python,我正在提取一些csv格式的数据。我的目标是把一列,例如“名称”放到一个列表中。这个,我知道怎么做。
之后,我想删除名单中不正确的名字。例如:
lists = [Anderson, Byrne, Clark, Cooper, Davies, Evans, +Miller, Moore, Thom@s, W!lson]
我想要:
lists = [Anderson, Byrne, Clark, Cooper, Davies, Evans, Moore]
因为有些名字里面有+
或者@
或者!
,我不想改字,我想删除那些名字。
我试过了,一个经典的,如果其他的,但它没有工作。
5条答案
按热度按时间rggaifut1#
您可以使用
str.isalpha
:zwghvu4y2#
要过滤有效名称:
正如OP在下面的评论中所要求的,对于过滤具有有效用户名的有效电子邮件:
brccelvz3#
假设列表中的所有元素都是字符串,则可以使用以下命令获得所需的结果:
hts6caw34#
你可以用正则表达式来实现它,Python支持一个正则表达式模块,叫做
re
。例如,一个名称只由字母组成,可以使用列表解析和re来只过滤有效的名称,如下所示:
有关详细信息,请查看
re
module documentation。gab6jxml5#
这段代码运行时没有创建一个额外的列表。它只是使用一个for循环在原处修改列表: