Magic Square in Python Fehler in Listen, aber nicht in Numpy Arrays

PATHIK GHUGARE

Ich habe diese zwei Versionen eines Programms, das ein magisches Quadrat ungerader Ordnung erzeugt.

1. Verwenden von Numpy-Arrays:

import numpy as np

N = 5
magic_square = np.zeros((N, N), dtype=int)

n = 1
i, j = 0, N // 2

while n <= N ** 2:
    magic_square[i, j] = n
    n += 1
    newi, newj = (i - 1) % N, (j + 1) % N
    if magic_square[newi, newj]:
        i += 1
    else:
        i, j = newi, newj

print(magic_square)

2. Listen verwenden

N = 5
magic_square = [[0] * N] * N

n = 1
i, j = 0, N // 2

while n <= N ** 2:
    magic_square[i][j] = n
    n += 1
    newi, newj = (i - 1) % N, (j + 1) % N
    if magic_square[newi][newj]:
        i += 1
    else:
        i, j = newi, newj

print(magic_square)

Aber derjenige, der Listen verwendet, gibt einen IndexError: Listenindex außerhalb des Bereichs für die Zeile magic_square [i] [j] = n

Gibt es einen Unterschied bei der Indizierung für np-Arrays und -Listen?

Wenn ja, wie korrigiere ich dann den Code, der Listen enthält?

Epsi95

Wie von hpaulj erwähnt, nicht verwenden [[0]*N]*N]

>>> l = [[0]*5]*5

[[0, 0, 0, 0, 0], 
 [0, 0, 0, 0, 0], # same as above list
 [0, 0, 0, 0, 0], # same as above list
 [0, 0, 0, 0, 0], # same as above list
 [0, 0, 0, 0, 0]] # same as above list

>>> l[0][0] = 5
[[5, 0, 0, 0, 0],
 [5, 0, 0, 0, 0],
 [5, 0, 0, 0, 0],
 [5, 0, 0, 0, 0],
 [5, 0, 0, 0, 0]]

Verwenden

magic_square = [[0 for i in range(N)] for i in range(N)]

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Warum kann itertools.groupby die NaNs in Listen gruppieren, aber nicht in numpy Arrays

Python druckt Rückkehr vom Listen-Pop aus, gibt aber beim Zugriff 'NoneType' nicht indexierbaren Fehler aus

Numpy-Broadcast-Shape-Fehler: Liste (Listen(Arrays)) in Array konvertieren

Serie importiert, aber nicht verwendet Fehler Python

Warum haben Python-Listen pop (), aber nicht push ()

Python: Auf eine Liste von Listen reduzieren, aber nicht mehr

Python: Numpy kombinieren Arrays in 2x1-Listen

Python konvertiert Listen in 2D-Numpy-Arrays

Erweitertes Slicing: Python-Listen gegen Numpy-Arrays

Der frustrierende Fehler in Python Global ist nicht definiert, aber definiert

Python/MySQL, keine Fehler, aber Daten werden nicht eingefügt

Python Script funktioniert nicht, gibt aber auch keine Fehler

Python-Fehler - Listen

Magic Python funktioniert nicht

ValueError: Fehler beim Konvertieren eines NumPy-Arrays in einen Tensor (Liste nicht unterstützter Objekttypen) in Keras / Tensorflow Python

Magic Square beim Python-Debugging

XAML-Fehler, aber nicht

Warum funktioniert die eingebaute Funktion abs () nicht mit Python-Listen, sondern korrekt mit NumPy-Arrays und Pandas-Serien (wie es vektorisiert wäre)?

Listen sind gleich, aber nicht gleich?

Subtrahieren von zwei Listen, aber die Werte addieren sich in Python nicht

Python - Erstellen Sie separate Listen, aber Integer und Strings funktionieren nicht

Vergleichen von Strings in riesigen Listen, können aber in Python nicht set verwenden

Python, das eine Liste von Listen überschreibt, aber nicht anhängt

Nicht autorisierter Fehler in Powershell, aber nicht in VBA

Selenium (über Python) -Fehler bei EINIGEN (aber nicht allen): nicht (...) CSS-Selektoren

Sind numpy Arrays schneller als Listen?

Erstellen von Listen mit numpy Arrays

Django: nicht zerlegbarer Typ: 'Listen'-Fehler

Python prüft, ob Liste in Liste von Listen mit numpy Arrays

TOP Liste

  1. 1

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

  2. 2

    Wie füge ich mehrere Spalten in einer Spalte mit derselben Tabelle in SQL Server zusammen?

  3. 3

    Wie kann man Gitterquadrate dazu bringen, die Farbe zu ändern?

  4. 4

    Ich kann nicht verstehen, wie man Go-Code in mehreren Dateien kompiliert

  5. 5

    Zählen Sie die Vorkommen jedes Werts in einem Tupel in Python

  6. 6

    Gibt es eine sauberere Möglichkeit, Konstruktorargumente und Instanzeigenschaften einer Klasse in Typescript zu definieren?

  7. 7

    So implementieren Sie Pushwoosh mit ionic 2

  8. 8

    Wie wird der Wert im Dropdown-Menü basierend auf den ausgewählten Daten / IDs angezeigt?

  9. 9

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  10. 10

    Ändern Sie den Knotenpfad in das aktuelle Verzeichnis

  11. 11

    So erstellen Sie ein Array von Objekten aus zwei Arrays von Objekten mit einem gemeinsamen Schlüssel - JavaScript

  12. 12

    Rufen Sie die ID aus der Datagrid-Ansicht ab und zeigen Sie die Daten in Textfeldern einem anderen Formular an

  13. 13

    base js: Wie füge ich einem Objekt eine Eigenschaft auf die 'alte' Weise hinzu?

  14. 14

    Ersetze einen Teil einer Zeichenfolge durch eine Pandas-Spalte als Muster

  15. 15

    Blättern Sie auf Radio Click zur Abschnitts-ID

  16. 16

    CBCentralManager wird nach dem Verbinden neu gestartet

  17. 17

    Scherz, wie man eine Funktion verspottet, die von einer verspotteten Funktion zurückgegeben wird

  18. 18

    django-allauth Empfängersignal zum Hinzufügen einer Gruppenberechtigung zum Benutzer bei der Anmeldung

  19. 19

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  20. 20

    AQL: Teilweise Übereinstimmung in einer Reihe von Zeichenfolgen

  21. 21

    So summieren Sie die Werte zweier Tabellen und gruppieren sie nach Datum

heißlabel

Archiv