it-swarm.com.de

Wie bekomme ich die ersten 2 Buchstaben eines Strings in Python?

Angenommen, ich habe eine Zeichenfolge

Str1 = "TN 81 NZ 0025" 
str2 = "DL 11C AA 1111"
two = first2(str1)
print(two)
>>>TN

Wie bekomme ich die ersten beiden Buchstaben dieser Zeichenketten? Ich brauche die first2 Funktion dafür.

6
Ufoguy

Es ist so einfach wie string[:2]. Eine Funktion kann leicht geschrieben werden, wenn Sie es brauchen. 

Selbst das ist so einfach wie

def first2(s):
    return s[:2]
18
ShinTakezou

Im Allgemeinen können Sie die Zeichen einer Zeichenfolge von i bis j mit string[i:j] verwenden. string[:2] ist die Abkürzung für string[0:2]. Dies funktioniert auch für Arrays.

Erfahren Sie im offiziellen Tutorial mehr über die Pythonscheibennotation

4
stewSquared

In Python sind Zeichenfolgen eine Liste von Zeichen, aber sie sind nicht explizit vom Typ der Liste, sondern nur von der Liste (d. H. Sie können wie eine Liste behandelt werden). Formal sind sie als sequence bekannt (siehe http://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-Tuple-bytearray-buffer-xrange ):

>>> a = 'foo bar'
>>> isinstance(a, list)
False
>>> isinstance(a, str)
True

Da die Zeichenfolgen Sequenz sind, können Sie slicing verwenden, um auf Teile der Liste zuzugreifen, die mit list[start_index:end_index] gekennzeichnet sind. Siehe Pythons Slice-Notation erklären . Zum Beispiel:

>>> a = [1,2,3,4]
>>> a[0]
1 # first element, NOT a sequence.
>>> a[0:1]
[1] # a slice from first to second, a list, i.e. a sequence.
>>> a[0:2]
[1, 2]
>>> a[:2]
[1, 2]

>>> x = "foo bar"
>>> x[0:2]
'fo'
>>> x[:2]
'fo'

Wenn undefiniert, nimmt die Slice-Notation die Startposition als 0 und die Endposition als len (Sequenz) an.

In den alten C-Tagen handelt es sich um ein Array von Charakteren. Das gesamte Thema der dynamischen vs. statischen Liste klingt jetzt wie eine Legende, siehe Python-Liste vs. Array - wann zu verwenden?

1
alvas

Heres, wie die einfache Funktion aussehen würde:

def firstTwo(string):
    return string[:2]
1
andyzinsser

Alle vorherigen Beispiele lösen eine Ausnahme aus, falls Ihre Zeichenfolge nicht lang genug ist.

Ein anderer Ansatz ist die Verwendung von 'yourstring'.ljust(100)[:100].strip().

Dadurch erhalten Sie die ersten 100 Zeichen. Möglicherweise erhalten Sie eine kürzere Zeichenfolge, falls Ihre letzten Zeichenzeichen Leerzeichen sind.

0
Julien Kieffer
t = "your string"

Spielen Sie mit den ersten N Zeichen einer Zeichenfolge mit

def firstN(s, n=2):
    return s[:n]

was ist standardmäßig entspricht 

t[:2]
0
J. Doe

Der Vollständigkeit halber: Anstatt def zu verwenden, können Sie einer lambda-Funktion einen Namen geben:

first2 = lambda s: s[:2]
0
Thorsten Kranz