[Python] Erstellen Sie eine Liste mit verschiedenen Zeichentypen

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.

Nachtrag (30.03.2018)

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.

Unteres Alphabet

[chr(i) for i in range(97, 97+26)]
# [chr(i) for i in range(ord('a'), ord('z')+1)]

Alphabet Hauptstadt

[chr(i) for i in range(65, 65+26)]
# [chr(i) for i in range(ord('A'), ord('Z')+1)]

Nummer halber Breite

[chr(i) for i in range(48, 48+10)]
# [chr(i) for i in range(ord('0'), ord('9')+1)]

Hiragana

[chr(i) for i in range(12353, 12436)]
# [chr(i) for i in range(ord('Ah'), ord('Hmm')+1)]

Katakana

[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

Nummer in voller Breite

[chr(i) for i in range(65296, 65296+10)]
# [chr(i) for i in range(ord('0'), ord('9')+1)]

Gemeinsames Kanji

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.

Symbol halber Breite

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)]"

Bonus

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

[Python] Erstellen Sie eine Liste mit verschiedenen Zeichentypen
[Python] Listenverständnis Verschiedene Möglichkeiten zum Erstellen einer Liste
[Python] So erstellen Sie eine Liste von Zeichenfolgen Zeichen für Zeichen
Python: Erstellen Sie ein Wörterbuch aus einer Liste von Schlüsseln und Werten
Zeigen Sie eine Liste der Alphabete in Python 3 an
[Python] Ruft eine Liste der Instanzvariablen ab
[Python] Nur eine Liste der Ordner abrufen
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Liste der Python-Module
Erstellen Sie ein Python-Modul
Kopieren Sie die Liste in Python
Erstellen Sie eine Python-Umgebung
Verschiedene Verarbeitung von Python
[Python] Erstellen Sie eine Liste mit Datum und Uhrzeit (Datum / Uhrzeit-Typ) für einen bestimmten Zeitraum
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
Python: Ruft eine Liste der Methoden für ein Objekt ab
Gruppieren Sie nach aufeinanderfolgenden Elementen einer Liste in Python
Erstellen Sie ein Wox-Plugin (Python)
Erstellen Sie eine Funktion in Python
Zusammenfassung der Python3-Listenoperationen
Erstellen Sie ein Wörterbuch in Python
ToDo-Listenerstellung [Python Django]
Über verschiedene Codierungen von Python 3
2.x, 3.x Serienzeichencode von Python
Erstellen Sie ein Python-Numpy-Array
[Python] Kopie einer mehrdimensionalen Liste
Erstellen Sie ein Verzeichnis mit Python
So mischen Sie einen Teil der Python-Liste (at random.shuffle)
[Python] Erstellen Sie eine Datums- und Zeitliste für einen bestimmten Zeitraum
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Holen Sie sich eine Liste der mit Python + Selen gekauften DMM-E-Books
Discords Python 1.5 oder höher, ich kann keine Liste der Mitglieder erhalten
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Csv spuckte eine Liste mit Dateinamen, zuletzt geänderten Daten und Zeichencodes in Python3 aus
[Python] So erstellen Sie eine Tabelle aus einer Liste (grundlegende Operation zum Erstellen von Tabellen / Ändern des Matrixnamens)
Eine gute Beschreibung der Python-Dekorateure
[Python] Verwalten Sie Funktionen in einer Liste
Erstellen Sie mit tkinter eine Python-GUI
Erstellen Sie einen DI-Container mit Python
[Python] Ein Memorandum der schönen Suppe4
Erstellen Sie eine Python-Umgebung auf dem Mac (2017/4)
Eine kurze Zusammenfassung der Python-Sammlung
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen Sie eine Binärdatei in Python
Python / Machen Sie ein Diktat aus einer Liste.
Erstellen Sie eine Python-Umgebung in Centos
Erstellen Sie ein universelles Dekorationsframework für Python
5 Möglichkeiten zum Erstellen eines Python-Chatbots
Erstellen Sie eine zufällige Zeichenfolge in Python
Generieren Sie eine Liste aufeinanderfolgender Zeichen
Informationen zur Grundlagenliste der Python-Grundlagen
Erstellen Sie eine Instanz einer vordefinierten Klasse aus einer Zeichenfolge in Python
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
Durchsuchen Sie das Verzeichnis und erstellen Sie eine Liste mit Verzeichnispfaden und Dateinamen
Verschiedene Möglichkeiten, um in Python ein Array von Zahlen von 1 bis 10 zu erstellen.
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
[Python] Ein Programm, das den Inhalt der Liste nach links dreht