Heim > Backend-Entwicklung > Python-Tutorial > Python implementiert die Methode zur Benennung von Slices

Python implementiert die Methode zur Benennung von Slices

不言
Freigeben: 2018-10-15 14:17:53
nach vorne
2168 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Methode zur Benennung von Slices in Python. Ich hoffe, dass er für Freunde hilfreich ist.

1. Anforderungen

Unser Code ist unleserlich geworden, mit überall fest codierten Slice-Indizes, und wir möchten sie optimieren.

2. Lösung

Wenn der Code viele fest codierte Indexwerte enthält, führt dies zu einer schlechten Lesbarkeit und Wartbarkeit.

Die integrierte Funktion „slice()“ erstellt ein Slice-Objekt, das überall dort verwendet werden kann, wo Slicing-Vorgänge ausgeführt werden.

items=[0,1,2,3,4,5,6]
a=slice(2,4)
print(items[2:4])
print(items[a])

items[a]=[10,11,12,13]
print(items)

del items[a]
print(items[a])
print(items)
Nach dem Login kopieren

Ergebnis ausführen:

[2, 3]
[2, 3]
[0, 1, 10, 11, 12, 13, 4, 5, 6]
[12, 13]
[0, 1, 12, 13, 4, 5, 6]
Nach dem Login kopieren

Wenn es eine Instanz des Slice-Objekts gibt. Informationen über das Objekt können über die Eigenschaften s.start, s.stop und s.step abgerufen werden. Zum Beispiel:

items=[0,1,2,3,4,5,6]
a=slice(2,8,3)
print(items[a])
print(a.start)
print(a.stop)
print(a.step)
Nach dem Login kopieren

Ergebnis:

[2, 5]
2
8
3
Nach dem Login kopieren

Darüber hinaus können Slices mithilfe der Methode indices(size) auf Sequenzen einer bestimmten Größe abgebildet werden. Dadurch wird ein (Start-, Stopp-, Schritt-)Tupel zurückgegeben, bei dem alle Werte ordnungsgemäß begrenzt sind (um IndexError-Ausnahmen bei Indexoperationen zu vermeiden), zum Beispiel:

s='HelloWorld'
a=slice(2,5)
print(a.indices(len(s)))
for i in range(*a.indices(len(s))):
    print(str(i)+":"+s[i])
Nach dem Login kopieren

Ergebnis:

(2, 5, 1)
2:l
3:l
4:o
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPython implementiert die Methode zur Benennung von Slices. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage