如何从 python 中的列表中删除英文字母
How to remove english alphabets from list in python
我有一个列表,其中一些是英文文本,而另一些是 Hindi。我想从用英文编写的列表中删除所有元素。如何实现?
示例:如何从下面的列表 L
中删除 hello
?
L = ['मैसेज','खेलना','दारा','hello','मुद्रण']
for i in range(len(L)):
print L[i]
预期输出:
मैसेज
खेलना
दारा
मुद्रण
您可以使用Python的正则表达式模块。
import re
l=['मैसेज','खेलना','दारा','hello','मुद्रण']
for string in l:
if not re.search(r'[a-zA-Z]', string):
print(string)
您可以使用 isalpha()
函数
l = ['मैसेज', 'खेलना', 'दारा', 'hello', 'मुद्रण']
for word in l:
if not word.isalpha():
print word
会给你结果:
मैसेज
खेलना
दारा
मुद्रण
您可以将 filter
与正则表达式一起使用 match
:
import re
list(filter(lambda w: not re.match(r'[a-zA-Z]+', w), ['मैसेज','खेलना','दारा','hello','मुद्रण']))
简单的列表理解如何:
>>> import re
>>> i = ['मैसेज','खेलना','दारा','hello','मुद्रण']
>>> [w for w in i if not re.match(r'[A-Z]+', w, re.I)]
['मैसेज', 'खेलना', 'दारा', 'मुद्रण']
我有一个列表,其中一些是英文文本,而另一些是 Hindi。我想从用英文编写的列表中删除所有元素。如何实现?
示例:如何从下面的列表 L
中删除 hello
?
L = ['मैसेज','खेलना','दारा','hello','मुद्रण']
for i in range(len(L)):
print L[i]
预期输出:
मैसेज
खेलना
दारा
मुद्रण
您可以使用Python的正则表达式模块。
import re
l=['मैसेज','खेलना','दारा','hello','मुद्रण']
for string in l:
if not re.search(r'[a-zA-Z]', string):
print(string)
您可以使用 isalpha()
函数
l = ['मैसेज', 'खेलना', 'दारा', 'hello', 'मुद्रण']
for word in l:
if not word.isalpha():
print word
会给你结果:
मैसेज
खेलना
दारा
मुद्रण
您可以将 filter
与正则表达式一起使用 match
:
import re
list(filter(lambda w: not re.match(r'[a-zA-Z]+', w), ['मैसेज','खेलना','दारा','hello','मुद्रण']))
简单的列表理解如何:
>>> import re
>>> i = ['मैसेज','खेलना','दारा','hello','मुद्रण']
>>> [w for w in i if not re.match(r'[A-Z]+', w, re.I)]
['मैसेज', 'खेलना', 'दारा', 'मुद्रण']