
In Python can SIE die Länge eines Strings str (= Anzahl der Zeichen) mit der eingebauten Funktion len() erhalten.
Dieser Artikel hat folgenden Inhalt.
- Holen Sie sich die Länge eines Strings (Anzahl der Zeichen) mit len()
- Zeichen in voller und halber Breite
- Fluchtsequenzen und Sonderzeichen
- Zeilenumbrüche
Siehe den following Artikel für die Verwendung von len() für andere Typen wie list.
Holen Sie sich die Länge eines Strings (Anzahl der Zeichen) mit len()
Durch die Übergabe eines Strings an die eingebaute Funktion len() wird dessen Länge (Anzahl der Zeichen) als ganzzahliger Wert zurückgegeben.
s = 'abcde'
print(len(s))
# 5
Zeichen in voller und halber Breite
Beide Zeichen in voller als auch in halber Breite werden als ein Zeichen behandelt (Länge: 1).
s = 'あいうえお'
print(len(s))
# 5
s = 'abcdeあいうえお'
print(len(s))
# 10
Fluchtsequenzen und Sonderzeichen
In Python werden Sonderzeichen wie TAB mit einem umgekehrten Schrägstrich dargestellt, wie t. Der umgekehrte Schrägstrich wird selbst durch \ dargestellt.
Diese Sonderzeichen wie t und \ werden als einzelnes Zeichen behandelt.
s = 'atb\c'
print(s)
# a bc
print(len(s))
# 5
In unformatierten Zeichenfolgen, in denen Escape-Sequenzen nicht behandelt werden, wird die Zeichenfolge so behandelt, wie sie ist, ohne besonders als Sonderzeichen interpretiert zu werden. Die Anzahl der Zeichen wird ebenfalls einheitlich gezählt.
s = r'atb\c'
print(s)
# atb\c
print(len(s))
# 7
Außerdem WIRD sterben Unicode-Escape-Sequenz uXXXX als Einzelnes Zeichen behandelt.
s = 'u3042u3044u3046'
print(s)
# あいう
print(len(s))
# 3
Auch Unicode-Escape-Sequenzen werden in Raw-Strings nicht behandelt.
s = r'u3042u3044u3046'
print(s)
# u3042u3044u3046
print(len(s))
# 18
Zeilenumbrüche
n (LF: Line Feed) wird ebenfalls als einzelnes Zeichen behandelt.
s = 'anb'
print(s)
# a
# b
print(len(s))
# 3
Beachten Sie, dass bei Verwendung von rn (CR: Carriage Return + LF: Line Feed) dies als zwei Zeichen gezählt wird, r und n.
s = 'arnb'
print(s)
# a
# b
print(len(s))
# 4
Wenn n und rn gemischt sind, ist die Anzahl der Zeichen in jedem Newline-Abschnitt unterschiedlich.
s = 'abcnabcdrnab'
print(s)
# abc
# abcd
# ab
print(len(s))
# 12
Wenn n und rn gemischt Sind oder SIE Nicht wissen, welches verwendet WIRD, verwenden SIE DIE Methode splitlines(), sterben Eine nach Zeilen aufgeteilte Liste zurückgibt.
print(s.splitlines())
# ['abc', 'abcd', 'ab']
Die Anzahl der Elemente in der mit splitlines() abgerufenen Liste entspricht der Anzahl der Zeilen.
print(len(s.splitlines()))
# 3
Die Anzahl der Zeichen in jeder Zeile kann mithilfe von Listenverständnissen ermittelt werden.
print([len(line) for line in s.splitlines()])
# [3, 4, 2]
Die Gesamtzahl der Zeichen kann mit sum() berechnet werden.
Hier wird eine Generatorversion des Listenverständnisses (Generatorausdruck) verwendet. Generatorausdrücke Werden in () anstelle von [] Eingeschlossen, aber Wenn sie wie in diesem Beispiel innerhalb von () used Werden, can () weggelassen Werden.
print(sum(len(line) for line in s.splitlines()))
# 9
Weitere Informationen zu Zeilenumbrüchen finden Sie im following Artikel.