Forum
>>
Principianti
>>
Creare un numero di variabili in base alla lunghezza di una lista
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da como |
2017-05-28 16:12:04 - Creare un numero di variabili in base alla lunghezza di una lista
|
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 |
|
Scritto da Daniele aka Palmux |
2017-05-28 19:23:32 - Re: Creare un numero di variabili in base alla lunghezza di una lista
|
Ciao a te.
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 |
|
Scritto da como |
2017-05-28 19:38:03 - Re: Creare un numero di variabili in base alla lunghezza di una lista
|
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) |
|
Scritto da Daniele aka Palmux |
2017-05-28 20:40:40 - Re: Creare un numero di variabili in base alla lunghezza di una lista
|
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 vuoiAlla fine avrai tre stringhe: cane gatto scoiattoloAdattalo alle tue esigenze, torno da Bacco. Cya |
|
Scritto da como |
2017-05-28 21:27:44 - Re: Creare un numero di variabili in base alla lunghezza di una lista
|
sembra il comando che fa al caso mio!
grazie ti lascio al tuo Bacco |
|
Scritto da fabio dellinfante |
2020-10-02 18:42:14 - Re: Creare un numero di variabili in base alla lunghezza di una lista
|
Se io invece di una variabile avrei bisgno di creare n array npy in base al numero n preso da input ?
Come posso fare ? 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.