Inspiriert von ~~ Erstellen Sie mit Python eine einfache Liste von Alphabeten ~~ (defekter Link), erstellen Sie eine Liste mit verschiedenen Zeichenketten sah.
Ich denke, es kann in Passwortwörterbüchern und Wortspielen verwendet werden.
Es scheint, dass einige Leute es ab und zu sehen, deshalb werde ich das Modul auch im Kommentarbereich erklären. Ich denke, es ist die beste Vorgehensweise, das "String-Modul" für Zeichenfolgen mit halber Breite zu verwenden.
>>> import string
>>> help(string)
(Unterlassung)
DATA
ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
digits = '0123456789'
hexdigits = '0123456789abcdefABCDEF'
letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv...\xaf\xb0...
lowercase = 'abcdefghijklmnopqrstuvwxyz'
octdigits = '01234567'
printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU...
punctuation = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
whitespace = '\t\n\x0b\x0c\r '
>>> string.digits
'0123456789'
In Python ist der Umgang mit Listen und Zeichenfolgen nicht so unterschiedlich, daher werde ich die Erklärung dieses Teils weglassen.
[chr(i) for i in range(97, 97+26)]
# [chr(i) for i in range(ord('a'), ord('z')+1)]
[chr(i) for i in range(65, 65+26)]
# [chr(i) for i in range(ord('A'), ord('Z')+1)]
[chr(i) for i in range(48, 48+10)]
# [chr(i) for i in range(ord('0'), ord('9')+1)]
[chr(i) for i in range(12353, 12436)]
# [chr(i) for i in range(ord('Ah'), ord('Hmm')+1)]
[chr(i) for i in range(12449, 12532+1)]
# [chr(i) for i in range(ord('EIN'), ord('Nieder')+2)]
#Wenn Sie "Vu" nicht benötigen,-1 "bitte
[chr(i) for i in range(65296, 65296+10)]
# [chr(i) for i in range(ord('0'), ord('9')+1)]
Das ist nicht möglich. Ständig. Es gibt jedoch nichts, was Sie nicht tun können.
[UTF-8-Version der allgemeinen Kanji-Codetabelle] Ich denke, es gibt keine andere Wahl, als das Kanji aus dem CSV zu extrahieren und es aufzulisten ...
Führen Sie nach dem Löschen des Kommentarfelds Folgendes aus.
import csv
kanji = []
with open('/path/to/joyo-kanji-code-u.csv', 'r') as f:
data = csv.reader(f)
for row in data:
kanji.append(row[0])
Jep. Eine Liste von 2136 Stücken scheint schwer zu sein ... Bitte tun Sie Ihr Bestes, um Dinge zu machen, die das Äußere einschließen.
Dies ist auch kontinuierlich unmöglich. Seltenes Gas, dass die Person, die ASCII eingestellt hat, schlecht ist ... Ich habe mir keine gute Methode ausgedacht, deshalb gebe ich ein Beispiel.
eisu = [chr(i) for i in range(97, 97+26)]
eisu.extend([chr(i) for i in range(65, 65+26)])
eisu.extend([chr(i) for i in range(48, 48+10)])
[chr(i) for i in range(33, 127) if chr(i) not in eisu]
#Wenn Sie "33" in "32" ändern, wird übrigens ein Leerzeichen mit halber Breite eingefügt.
Wie Sie vielleicht bemerkt haben, gilt für alle Zeichen halber Breite "[chr (i) für i im Bereich (32, 127)]"
Ich denke, es ist mühsam, eins nach dem anderen zu kopieren und einzufügen, also werde ich eine Funktion einfügen, die die gewünschte Liste zurückgibt. Bitte fügen Sie anschließend gängige Kanji-Symbole und Symbole mit halber Breite hinzu.
#Unteres Alphabet →(97, 123)
#Alphabet Großbuchstaben →(65, 91)
#Nummer halber Breite →(48, 58)
#Hiragana →(12353, 12436)
#Katakana →(12449, 12532+1)
#Nummer in voller Breite →(65296, 65306)
def moji_list(*args):
moji = []
for i in range(len(args)):
moji.extend([chr(j) for j in range(args[i][0], args[i][1])])
return moji
moji_list((97, 123), (65, 91), (48, 58))
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
Ich denke, es ist auch möglich, es mit ord () anzugeben.
Recommended Posts