Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung des Python-Slice-Index

Verwendung des Python-Slice-Index

不言
不言Original
2018-06-04 18:00:022488Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung des Python-Slice-Index vorgestellt. Er analysiert ausführlich die allgemeinen Verwendungsmethoden und Betriebsvorkehrungen des Python-Slice-Index in Form von Beispielen.

Die Beispiele In diesem Artikel wird die Verwendung von Python-Slices beschrieben. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

In Python können Sie auf jedes Element der Sequenz zugreifen, indem Sie einfache eckige Klammern und einen Index verwenden. Diese Methode wird als Slicing-Operator bezeichnet Es gibt drei Formen von Operatoren:

[], [:], [ ::]

Die Syntax für den Zugriff auf ein bestimmtes Datenelement lautet wie folgt:

sequence[index]

Sequenz ist der Name der Sequenz, index ist der entsprechende Offset des Elements, auf das zugegriffen wird, was eine positive Zahl ist, 0<=index<=len(sequence)-1; negativer Index, sein Bereich ist -len(sequence) <=index <= -1

Da Python objektorientiert ist, kann es auch durch Hinzufügen eines Index direkt danach aufgerufen werden die Reihenfolge wie folgt

print (&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;)[2]

Für den Fall, dass auf mehrere Elemente zugegriffen wird

sequence[starting_index:ending_index]

Das Folgende sind einige Beispiele für Zugriffsmethoden Beschreibung:

sequence="abcdefgh"
print len(sequence)  #显示序列长度
print sequence    #打印完整序列
print sequence[:]
print sequence[2:3]  #切片显示,不指定步长默认为1,指定了步长(这里是setp为2)按照步长进行显示
print sequence[1:6:2]
print sequence[3]   #元素访问
print sequence[0:3]  #从首元素开始访问,访问区间为[0,3),左开you
print sequence[:3]
print sequence[2:8]  #从第二个元素一直访问到最后一个元素
print sequence[2:]
print sequence[::-1] #从最后一个元素开始访问,逆序访问,可以视为“翻转”操作
print max(sequence)
print min(sequence)
print sequence.index(&#39;c&#39;)

Zu beachten ist hier der Wiederholungsoperator *

sequence * copies_int

Wenn mehrere Kopien einer Sequenz erforderlich sind, kommt der Wiederholungsoperator ins Spiel, copies_int muss eine ganze Zahl sein

print sequence*3   #使用重复操作符

Der Verkettungsoperator +

sequence1 + sequence2

ermöglicht die Verwendung von + zur Verkettung zweier Sequenzen desselben Typs

print sequence + sequence

Beachten Sie jedoch, dass es sehr praktisch erscheint, diese Operation jedoch nicht die schnellste oder effizienteste ist. Für Zeichenfolgen ist diese Operation nicht so gut wie das Einfügen aller Teilzeichenfolgen in eine Liste oder ein iterierbares Objekt und dann Verwenden Sie die join()-Methode, um alle Inhalte miteinander zu verbinden, um Speicherplatz zu sparen. Für Listen wird empfohlen, eine Listentyp-extend()-Methode zu verwenden, um zwei oder mehr Listenobjekte zusammenzuführen

str.join(sequence) #方法用于将序列中的元素以指定的字符连接生成一个新的字符串

str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );

Die Ausgabe ist:

a-b-c

list.extend(seq)  #函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

aList = [123, &#39;xyz&#39;, &#39;zara&#39;, &#39;abc&#39;, 123];
bList = [2009, &#39;manni&#39;];
aList.extend(bList)
print "Extended List : ", aList ;

Die Ausgabe lautet:

Extended List :  [123, &#39;xyz&#39;, &#39;zara&#39;, &#39;abc&#39;, 123, 2009, &#39;manni&#39;]

Die Syntax des Slice-Index ist viel flexibler als die einfache Einzelelement-Indexmethode, und die Start- und Endindexwerte können die Länge von überschreiten die Zeichenfolge. Das heißt, der Startindexwert kann kleiner als 0 sein und der Endindexwert kann größer als die Länge der Sequenz sein, wie zum Beispiel:

print (&#39;Faye&#39;,&#39;Leanna&#39;,&#39;Daylen&#39;)[-100:100]

Die Ausgabe lautet:

(&#39;Faye&#39;, &#39;Leanna&#39;, &#39;Daylen&#39;)

Wenn es eine Zeichenfolge gibt und Sie sie auf diese Weise durch eine Schleife anzeigen möchten: Schneiden Sie jedes Mal das letzte Zeichen ab, wie erreicht man das?

sequence = &#39;abcdef&#39;
i = -1
for i in range(-1,-len(sequence),-1):
  print sequence[:i]

Die Ausgabe lautet:

abcde
abcd
abc
ab
a

Es wurde festgestellt, dass die erste nicht angezeigt wird, d. h. die vollständige Zeichenfolge wird nicht angezeigt , es sei denn, es ist ein anderer separater definiert sequence[:0], wobei None als Indexwert verwendet wird

sequence = &#39;abcdef&#39;
for i in [None] + range(-1,-len(sequence),-1):
  print sequence[:i]

Die Ausgabe lautet:

abcdef
abcde
abcd
abc
ab
a

Das obige ist der detaillierte Inhalt vonVerwendung des Python-Slice-Index. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn