Assegnazione valore array

di il
2 risposte

Assegnazione valore array

Salve a Tutti
Volevo chiedere una cosa sugli array di python ovvero sulla assegnazione di valori numerici in una determinata posizione.
Prendendo un array vuoto es. ar=[] ho creato una matrice lineare vuota e dinamica.
Il problema che io vorrei risolvere è questo... Se dico a python ar[10]=10 questo mi da errore perchè a quanto pare la posizione n.10 non è stata settata o inizializzata.
Per questo devo prima dare una prima assegnazione del tipo...
for i in range(10):
ar.append(0)
e poi posso modificare il valore della matrice (ar) semplicemente eseguendo ar[10]=10 o ar[2]=2....

Per questo volevo chiedere se c'è un'altro modo per assegnare a una determinata posizione un certo valore

Grazie a chiunque risponderà

2 Risposte

  • Re: Assegnazione valore array

    Puoi usare una maniera più pitonica:
    [ar.append(0) for i in range(0,10)]
    oppure puoi fare una cosa del genere:
    ar=[0]*10
    print(ar)
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    Altra alternativa è usare un dizionario:
    ar = {}
    ar[12]=33
    print(ar[12])
    33
    Dipende da cosa devi fare e dall'efficienza richiesta. Se devi fare calcolo matriciale forse i dizionari non sono il massimo, ma possono farcela; ovviamente la "rettangolarità" di una matrice fatta con un dizionario è tutta uno "spera e prega", meglio impostare all'inizio una cosa del genere:
    # matrice quadrata 5x5
    mr=[]
    [mr.append([0]*5) for i in range(0,5)]
  • Re: Assegnazione valore array

    La risposta che cercavo è questa.... ar = {}
    Questo mi permette di memorizzare in base al suo valore originale e verificare con un semplice click se la casella è stata riempita o no. Tra l'altro la mia necessità era anche quella di creare dei database di soli numeri dispari o pari e questa soluzione mi risolve anche questo.

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
2 risposte