我有这样一份清单:
my_list=["'-\\n'",
"'81\\n'",
"'-\\n'",
"'0913\\n'",
"'Assistant nursing\\n'",
"'0533\\n'",
"'0895 Astronomy\\n'",
"'0533\\n'",
"'Astrophysics\\n'",
"'0532\\n'"]
有没有办法把这个列表中除了单词以外的所有东西都删除
输出:
my_list=['Assistant nursing',
'Astronomy',
'Astrophysics',]
例如,我知道如果我想删除字符串形式的整数,我可以这样做:
no_integers = [x for x in my_list if not (x.isdigit()
or x[0] == '-' and x[1:].isdigit())]
但效果还不够好
有规则的表达
输出
非正则表达式解决方案:
您可以先将字符
'-\\n
分条,然后使用str.isalpha
或空格只提取字母表中的字符,然后过滤掉空的子字符串''
。你可能需要在最后去掉空白字符,而如果要使用regex,可以使用模式:
'([A-Za-z].*?)\\\\n'
和re.findall
,然后过滤掉空列表中的元素,最后可以展平列表相关问题 更多 >
编程相关推荐