Eine Geschichte über Python Pop und Append

Manchmal möchte ich die for-Anweisung umdrehen und ein Array wie FIFO verwenden. Es scheint, dass es in Python eine Warteschlange gibt, aber da ich gleichzeitig mit Arbeitsmustern wie Javascript, MATLAB, Objective-C und Java zu tun habe, möchte ich definitiv mit demselben Code schreiben.

Diesmal habe ich mich wirklich mit Python beschäftigt. Ich denke nicht, dass Pop und Append schlecht sind, aber vielleicht werden einige Leute es mit Pop und Append auf die gleiche Weise implementieren, also machen Sie sich eine Notiz.

Dieses Mal wollte ich ein Array erhalten, das um ein Zeichen von dem Array verschoben ist, das wie [1,2,3,4,5,6,7,8,9,10] ausgerichtet ist, und das folgende Machen Sie eine Linie wie diese.

無題2.png

Dieses Mal habe ich es in Python geschrieben, und dies ist der Code, der gut passt. (Dieser Code ist vereinfacht und Sie müssen ihn nicht so schreiben, aber Sie mussten den Originalcode so schreiben.)

data_array=[1,2,3,4,5,6,7,8,9,10]

A=[]
R=[]

for i in range(10):
    if(len(A)<5):
        A.append(data_array[i])
    else:
        R.append(A)
        A.pop(0)
        A.append(data_array[i])

Die Idee ist, dass die ersten 5 Zeichen normal angehängt werden sollten. Danach sollten Pop und Append verwendet werden, um ein FIFO-ähnliches Array zu erstellen und es hinzuzufügen.

Das Ergebnis liegt jedoch kläglich darunter.

無題.png

Hmm! ?? Du knallst richtig, oder? Sie hängen an, richtig? ?? was! ?? Ich fühlte mich temperiert, aber ich machte einen rudimentären Fehler, bei dem ich in Python vorsichtig sein sollte. Sie müssen vorsichtig mit dem Speicher des Arrays sein.

Die Details werden hier ausführlich vorgestellt. http://qiita.com/utgwkk/items/5ad2527f19150ae33322

Hier ist also der richtige Code. Es scheint, dass Sie es mit copy.deepcopy in einen anderen Speicher verschieben müssen.

import copy

data_array=[1,2,3,4,5,6,7,8,9,10]

A=[]
R=[]

for i in range(10):
    if(len(A)<5):
        A.append(data_array[i])
    else:
        temp_data = copy.deepcopy(A)
        R.append(temp_data)
        A.pop(0)
        A.append(data_array[i])

Recommended Posts

Eine Geschichte über Python Pop und Append
Eine Geschichte über das Ändern von Python und das Hinzufügen von Funktionen
Eine Geschichte, die von Go's globalen Variablen und ihrem Umfang abhängig ist
Eine Geschichte über das Ausführen von Python auf PHP auf Heroku
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
Die Geschichte, mit Python eine Hanon-ähnliche Partitur zu machen
Über Python, len () und randint ()
Informationen zu Python-Datums- und Zeitzone
Eine Geschichte über Kindergärten, Kindergärten und Kindergärten
Memorandum über Korrelation [Python]
Ein Memorandum über den Python-Mock
Über Python und reguläre Ausdrücke
Eine Geschichte über das Cross-Kompilieren eines Python-Pakets für AWS Lambda und das Bereitstellen ohne Server
Informationen zu Python- und Betriebssystemoperationen
Python # Über Referenz und Kopie
Über Python sort () und reverse ()
Ein Hinweis zu [Python] __debug__
Eine Geschichte darüber, wie man einen relativen Pfad in Python angibt.
[Python] Kapitel 01-03 Über Python (Schreiben und Ausführen eines Programms mit PyCharm)
Eine Geschichte über einen Amateur, der mit Python (Kivy) einen Blockbruch macht ②
Eine Geschichte über einen Amateur, der mit Python (Kivy) einen Blockbruch macht ①
Eine Geschichte über den Versuch, private Variablen in Python zu implementieren.
Eine Geschichte über einen Python-Anfänger, der mit dem No-Modul'http.server 'feststeckt.
Python a + = b und a = a + b sind unterschiedlich
Die Geschichte von Python und die Geschichte von NaN
Informationen zur Installation der Serien Pwntools und Python2
Eine erfrischende Geschichte über Slice in Python
Python: Ein Hinweis zu Klasse 1 "Abstract"
Eine launische Geschichte über Slice in Python
Über Python-Diktat und sortierte Funktionen
Über Python und Cython dtype
Über Python Pickle (cPickle) und Marschall
[Python] Über Executor und zukünftige Klassen
Über Python, aus und importieren, als
[Python] gibt A [oder / und] B zurück
Die Geschichte der Verwendung von Python reduziert
Seltsame und schreckliche Python-Fehlergeschichte
Ein Hinweis zu Mock (Python-Mock-Bibliothek)
Eine Geschichte über das Hinzufügen einer REST-API zu einem mit Python erstellten Daemon
Ein bisschen mehr über Referenzen ~ Verwenden von Python und Java als Beispiele ~
Eine Geschichte über den Versuch, mehrere Python-Versionen auszuführen (Mac Edition)
Über _ und __
Eine Geschichte über alles von der Datenerfassung über die KI-Entwicklung bis hin zur Veröffentlichung von Webanwendungen in Python (3. KI-Entwicklung)
Eine Geschichte, die Slack und Google Spreadsheet verbindet
Ein Java-Programmierer studierte Python. (Über Typ)
Eine Geschichte über maschinelles Lernen mit Kyasuket
Ein Memo mit Python2.7 und Python3 in CentOS
Verbinde viel Python oder und und
Unterschied zwischen Anhängen und + = in der Python-Liste
Die Geschichte der Verarbeitung A von Blackjack (Python)
Apropos alte und neue Klassen in Python
Apropos Python-Klassenattribute und Metaklassen
Über den 02. Februar 2020 * Dies ist ein Python-Artikel.
Die Geschichte, einen süßen und schmerzhaften Blick auf benutzerdefinierte Benutzer auf Django zu werfen
Eine Geschichte über die Automatisierung von Online-Mahjong (Jakutama) mit OpenCV und maschinellem Lernen
Eine Geschichte über mein neues Python-Studium nach 3 Jahren MATLAB-Erfahrung
Die Geschichte, den Versuch aufzugeben, mit Heroku eine Verbindung zu MySQL herzustellen