[PYTHON] Konvertieren Sie das Slice-Objekt in eine Liste mit Indexnummern

Beim Bearbeiten einer Reihe von Python-Listen

int_list[10:2]

Es ist ein slice-Objekt, das tatsächlich an die get- Methode übergeben wird. Wenn Sie jedoch versuchen, eine listenähnliche Klasse selbst zu implementieren, ist es ein Problem, wenn Sie versuchen, dem Slice-Argument zu entsprechen. Es gibt keine Methode, um Slice in eine Spalte mit Indexnummern zu konvertieren.

Es ist schwierig, einen solchen Konvertierungsprozess selbst zu schreiben. Wenn Schritt eine negative Zahl ist / Keine, Start oder Stopp eine negative Zahl ist / Keine, stirbt dies in einem Sturm bedingter Verzweigung.

Es gibt jedoch Methoden, die eine derart mühsame Verarbeitung unauffällig ausführen. Es ist slot.indices (). Wenn Sie die Länge der Liste angeben, wird die negative Zahl / Keine entsprechend auf eine geeignete Indexnummer normalisiert. Damit ist es relativ einfach, eine Spalte mit Indexnummern zu erhalten.

def iterate_by_slice(s: slice, length: int):
    i, stop, step = s.indices(length)
    if step > 0 :
        while i < stop:
            yield i
            i += step
    else:
        while i > stop:
            yield i
            i += step

Bitte machen Sie immer mehr listenähnliche Klassen, die für alle nützlich sind.

Recommended Posts

Konvertieren Sie das Slice-Objekt in eine Liste mit Indexnummern
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
String-Konvertierung einer Liste mit Zahlen
Anzeige der Ausgabe einer Liste von Gleitkommazahlen
Konvertieren Sie eine mehrdimensionale Liste (Array) in eine Dimension
So konvertieren Sie ein Klassenobjekt mit SQLAlchemy in ein Wörterbuch
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
Python: Ruft eine Liste der Methoden für ein Objekt ab
[Python] Liste in Pandas konvertieren [Pandas]
[Python] So erstellen Sie eine Liste von Zeichenfolgen Zeichen für Zeichen
So mischen Sie einen Teil der Python-Liste (at random.shuffle)
[Befehl] Befehl zum Abrufen einer Liste von Dateien mit Zeichen voller Breite
So zeigen Sie eine Liste der mit pyenv installierbaren Versionen an
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
So erhalten Sie eine Liste mit Links von einer Seite aus Wikipedia
Gibt es ein Geheimnis in der Häufigkeit der Umfangszahlen?
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Konvertieren Sie das Tweepy Status-Objekt in JSON
Extrahieren Sie den Index der ursprünglichen Mengenliste, der der Liste der Teilmengen entspricht.
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Konvertieren Sie A4 PDF alle 2 Seiten in A3
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
Konvertieren Sie die Liste mit Python in DataFrame
Konvertieren Sie das PDF der Händlerliste der Go To Eat Hokkaido-Kampagne in CSV
Python> Liste> Doppelte Liste in einfache Liste konvertieren
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
Konvertieren Sie eine Zeichenfolge in ein Bild
[Python] Konvertiert natürliche Zahlen in Ordnungszahlen
Wie erhalte ich eine Liste ohne Elemente, deren Index i ... ist?
Eine leichte Einführung in die Objekterkennung
Konvertieren Sie die Dezimalzahl in n-ary [Python]
Tool zum Konvertieren der Juniper-Konfiguration
Generieren Sie eine Liste aufeinanderfolgender Zeichen
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
[Python] So fügen Sie eine beliebige Anzahl von Standardeingaben in die Liste ein
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Eine Funktion, die eine Liste mit Elementen mit bis zu 3 Ziffern generiert
Ich habe 6 Methoden gemessen, um den Index des Maximalwerts (Minimalwerts) der Liste zu erhalten
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Konvertieren Sie das PDF der Go To EAT-Mitgliedergeschäftsliste in der Präfektur Kumamoto in CSV
So formatieren Sie eine Liste von Wörterbüchern (oder Instanzen) in Python
[Django] Abfragesatz konvertieren, um Typliste zu diktieren
Machen wir einen Jupyter-Kernel
Zeigen Sie eine Liste der Alphabete in Python 3 an
Python> Tupel in Liste konvertieren> aList = Liste (pi_tuple)
[Python] Ruft eine Liste der Instanzvariablen ab
Zusammenfassung der Verwendung der Python-Liste
[Python] Nur eine Liste der Ordner abrufen
Eine Einführung in die Objektorientierung - Geben Sie einem Objekt ein Kind.
PDF der Präfektur Chiba konvertieren Gehe zur EAT-Mitgliedergeschäftsliste in CSV (Befehl)
So übergeben Sie das Ergebnis der Ausführung eines Shell-Befehls in einer Liste in Python
Konvertieren Sie das PDF der Produktliste mit wirksamen Tensiden für das neue Coronavirus in CSV
Wie kann man in Go so etwas wie eine Liste von void * (oder Variantentypen) erreichen?
[Python] Kombinieren von Listen mit Zahlen zu Zeichenfolgen und Schreiben in eine Ausgabedatei
Konvertieren Sie das PDF der Go To EAT-Mitgliedergeschäftsliste in der Präfektur Niigata in CSV
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen