2016-07-19 2 views
-2

Ich habe eine Liste, die englische Alphabete, Hindi Alphabete, griechische Symbole und Ziffern enthält. Ich möchte alle Alphabete außer dem von Hindi entfernen. Hindi Alphabete Bereich in Unicode ist u'0900'-u'097F '. Für Details über Hindi Alphabete besuchen Sie http://jrgraphix.net/r/Unicode/0900-097F.Wie kann man Zeichen mit seinem Unicode-Wert in Python drucken?

Eingang:

l=['ग','1ए','==क','@','ऊं','abc123','η','θ','abcशि'] 

for i in l: 
    print i 

gewünschte Ausgabe:

ग 
ए 
क 
ऊं 
शि 
+2

könnten Sie bitte teilen die Code, den du bisher geschrieben hast? – fodma1

+1

Ist das Python2 oder Python3? –

+0

Es ist in Python2 – Ishpreet

Antwort

4

Um einen Zeichenwert erhalten Sie die ord(char) buildin Funktion verwenden können.

In Ihrem Fall so etwas wie dies sollte funktioniert:

strings = [u'ग',u'1ए',u'==क',u'@',u'ऊं',u'abc123',u'η',u'θ',u'abcशि'] 
for string in strings: 
    for char in string: 
     if ord(u'\u0900') <= ord(char) <= ord(u'\u097F'): 
      print(char) 

Die ord(char) Funktion für beide Python 2 und verfügbar ist Python 3

https://docs.python.org/2.7/howto/unicode.html

+0

Es funktioniert nicht. – Ishpreet

+0

@ishpreet Ich habe mit Python 2.7 getestet, was meinst du mit _'Es funktioniert nicht'_, ist die Ausgabe falsch? Hast du einen Fehler bekommen? – Ceppo93

+0

Laut 'Google' odr() -> Gibt eine Zeichenfolge mit einem Zeichen zurück, dessen ASCII-Code die Ganzzahl ist. Während ich Unicode-Zeichen möchte, habe ich einen Unicode-Wert. Und auch Ihr Code druckt die Unicode-Zeichen nicht wie 'ग', obwohl er im Unicode-Bereich vorhanden ist. – Ishpreet

Verwandte Themen