Forum >> Principianti >> Gestire elementi in una stringa

Pagina: 1

Messaggio annotato da Daniele aka Palmux :
Questa discussione è stata spostata dalla categoria Files e Directory.
Buongiorno, comefaccio ad acedere ad un solo elemento della stringa quando la stringa è un elenco?
Ad esempio





while index < 10:



index+=1




a=str(index)+(".")+("wav")




print (a[0:])




il risultato è:

1.wav

2.wav

3.wav

come faccio a stampare,ad esempio solo l'indice della stringa 2.wav wuindi solo 2?




Ciao caro, è molto semplice la cosa, sempre se ho capito bene il problema.

Prima di tutto usa un oggetto diverso per "contenere" il nome dell'oggetto che ti interessa, come una lista o un dizionario, con una stringa è più complicato, anche perché nel tuo esempio a prende il valore solo dell'ultimo "passaggio" del ciclo while, mentre se facessi un .append() in una lista ad esempio, avresti tutti i valori.

A quel punto accedere ai singoli elementi non è troppo complicato, anche approfittando della presenza del "." tutto sarebbe facilitato.

Poi certo, da come formuli la domanda ti basterebbe fare un print(index), ma sono sicuro di non aver capito esattamente.

Cya


Provo ad usare un tuple e ti faccio sapere se risolvo,grazie! e' che avrei bisogno di generare una playlist con n file wave per poi selezionarne uno alla volta,anche non in ordine in modo da inserire il nome del file nel player audio
Provo ad usare un tuple e ti faccio sapere se risolvo,grazie! e' che avrei bisogno di generare una playlist con n file wave per poi selezionarne uno alla volta,anche non in ordine in modo da inserire il nome del file nel player audio
Una tupla potrebbe fare al caso tuo, anche se non la sceglierei di primo acchito, anche perché è immutabile a differenza di un dizionario o di una lista.

Prova e se non riesci chiedi pure.

Cya
ok penso sia propri il while il sistema sbagliato per quallo che volevo fare.
Dovrei caricare 20 file audio e fare un confronto tra il nome del file e i punti di un gioco.

Se il numero di punti corrisponde al nome del file(ex.1.wav) eseguo i ile corrispondente.




Usavo il while per evitare di inserire tutti i nomi a mano ma non riesco a recuperarli singolarmente anche con il tuple ,se stampo la lista non riesco a stampare solo un'elemento della lista.




ottengo [1.wav]

[2.wav]..

come faccio a recuperare solo un elemento?
Diciamo che hai un lista con i pezzi da eseguire, un ciclo for potrebbe bastare:
>>> lista_wav = ['1.wav', '2.wav', '3.wav']
>>> punti = 2 #Ipotizzo tu abbia una cosa del genere
>>> for i in lista_wav:
...     if int(str(i).split(".")[ 0 ]) == punti:
...         print(i)
2.wav

Se preferisci:
>>> [i for i in lista_wav if int(str(i).split(".")[ 0 ]) == punti]
['2.wav']
Può andare?

Cya

P.S. Tutto rigorosamente non provato... ;)


--- Ultima modifica di Daniele aka Palmux in data 2017-09-16 18:05:44 ---
Si grazie mille devo consegnare un progetto per l'esame entro sabato e avevo propri bisogno di una mano!


Pagina: 1



Esegui il login per scrivere una risposta.