如何从 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)]
['मैसेज', 'खेलना', 'दारा', 'मुद्रण']