Forum >> Principianti >> Creare un numero di variabili in base alla lunghezza di una lista

Pagina: 1

Ciao a tutti!
Dovrei realizzare un programma in cui creo n variabili (mi servono delle liste), dove n è la lunghezza di un array inserito da tastiera.
Mi spiego meglio:
Questa è la parte di programma da cui parto:
n_species = input('Number of additional species : ')
species_opt = 0 * n_species
for i in range(n_species) :
    species_opt = raw_input('specie {0} : '.format(i+1)) 
(lo zero dopo 'species_opt = ' è incluso tra parentesi quadre... non so come mai sul forum viene visualizzato come un punto esclamativo)
Adesso dovrei creare un numero 'n_species' di liste... è possibile farlo all interno del ciclo for? esiste un comando per farlo?

Spero che qualcuno riesca darmi almeno un'idea su come partire.
Grazie mille
Ciao a tutti!
Ciao a te.

Questa è la parte di programma da cui parto:
n_species = input('Number of additional species : ')
species_opt = [ 0 ] * n_species
for i in range(n_species) :
    species_opt = raw_input('specie {0} : '.format(i+1)) 

Mi preme sottolineare che stai tralasciando molti aspetti, come dei controlli sul tipo di dati che ti arrivano. Sappi poi che non dovresti usare input, per tutta una serie di buoni motivi.

Comunque sia, non voglio aggiungere e/o modificare nulla alle tue logiche, aggiungi solo quello che vedi in verde e dovresti ottenere quanto chiedi, se ho capito correttamente (rigorosamente non testato):
n_species = input('Number of additional species : ')
species_opt = [ 0 ] * n_species
for i in range(n_species) :
    species_opt[ i ] = raw_input('specie {0}: '.format(i+1)) 
Ciao
Daniele
Grazie per la risposta, ma per il lavoro che sto facendo devo mantenere la lista 'specie_opt' scritta in quel modo.
Probabilmente mi sono espresso male nel messaggio precedente, ma quello che mi serve è riuscire a creare variabili differenti in base al numero che viene inserito con input in 'n_species', perchè nel resto del programma inseriro dei valori diversi per ogni specie.

ad esempio se:
n_species = 3
vorrei creare le variabili
specie1
specie2
specie3
che potrebbero anche avere come nome le stringhe inserite in 'specie_opt', ma questo non è obbligatorio.

Spero in questo modo di aver spiegato meglio il mio problema

(p.s. ho dei controlli nel resto del programma, ma li ho omessi per rendere piu leggibile il messaggio)
Vuoi creare stringhe vuote prendendo il nome da una lista? Vabbé, fare l'aperitivo domenicale e scrivere sul forum di Python non sono attività che dovrebbero essere affrontate con questa leggerezza ed allo stesso momento. ;)

Usa vars() per fare quello che vuoi, sul tipo:
lista = ['cane', 'gatto', 'scoiattolo']
for i in lista:
    vars()[ i ] = ""  ### Metti quello che ti vuoi
Alla fine avrai tre stringhe:
cane
gatto
scoiattolo
Adattalo alle tue esigenze, torno da Bacco.

Cya
sembra il comando che fa al caso mio!
grazie
ti lascio al tuo Bacco :)
Se io invece di una variabile avrei bisgno di creare n array npy in base al numero n preso da input ?
Come posso fare ? :question:



Sopratutto vorrei sapere nel caso delle variabili come stampo queste variabili che ho creato tramite vars()?





--- Ultima modifica di dellinfa in data 2020-10-02 18:43:23 ---


Pagina: 1



Esegui il login per scrivere una risposta.