2016-07-19 6 views
6

У меня есть список с текстом на английском языке, а другой в Hindi. Я хочу удалить все элементы из списка, написанного на английском языке. Как это сделать?Как удалить английские алфавиты из списка в python

Пример: Как удалить hello из списка L внизу?

L = ['मैसेज','खेलना','दारा','hello','मुद्रण'] 

for i in range(len(L)):  
    print L[i] 

Ожидаемый результат:

मैसेज  
खेलना  
दारा  
मुद्रण 

ответ

7

Вы можете использовать isalpha() функцию

l = ['मैसेज', 'खेलना', 'दारा', 'hello', 'मुद्रण'] 
for word in l: 
    if not word.isalpha(): 
     print word 

даст вам результат:

मैसेज 
खेलना 
दारा 
मुद्रण 
0

Вы можете использовать обычный модуль выражений языка Python.

import re 
l=['मैसेज','खेलना','दारा','hello','मुद्रण'] 
for string in l: 
    if not re.search(r'[a-zA-Z]', string): 
     print(string) 
1

Вы можете использовать filter с регулярными выражениями match:

import re 
list(filter(lambda w: not re.match(r'[a-zA-Z]+', w), ['मैसेज','खेलना','दारा','hello','मुद्रण'])) 
2

Как насчет с imple list comprehension:

>>> import re 
>>> i = ['मैसेज','खेलना','दारा','hello','मुद्रण'] 
>>> [w for w in i if not re.match(r'[A-Z]+', w, re.I)] 
['मैसेज', 'खेलना', 'दारा', 'मुद्रण']