Rosario Pettinato
Profilo di
Nome | Rosario Pettinato |
---|---|
Indirizzo email | [email protected] |
Avatar | |
Messaggi | 7 |
-
- 2022-01-18 16:48:07
- Re: Ordinamento Liste nascoste secondo indice fisso
- Forum >> Principianti
- Grazie come sempre per il tuo aiuto!
L'utilizzo della funzione lambda come mi hai indicato risolve perfettamente il mio problema.
-
- 2022-01-17 17:38:52
- Ordinamento Liste nascoste secondo indice fisso
- Forum >> Principianti
- Salve a tutti.
Mi trovo a dover gestire una lista con liste annidate di questo tipo:
lista=[[nid1,x1,y1,z1,dist1],[nid2,x2,y2,z2,dist2],…]
Vorrei ordinare lista in ordine crescente secondo dist, qualcuno di voi sa come farlo in modo semplice?
Faccio un esempio:
lista=[[1,0,0,0,0],[2,0,2,0,2],[3,0,6,0,6],[5,0,4,0,4]]
lista_ordinata=[[1,0,0,0,0],[2,0,2,0,2],[5,0,4,0,4],[3,0,6,0,6]]
lista_rinumerate=[[[1,0,0,0,0],[2,0,2,0,2],[3,0,4,0,4],[4,0,6,0,6]]
Grazie in anticipo per le vostre risposte.
-
- 2021-12-16 16:21:30
- Re: [Aiuto!] Copiare contenuto file su lista riga per riga con ciclo for
- Forum >> Programmazione Python >> Files e Directory
- Grazie per la risposta.
Seguirò sicuramente i tuo consigli
-
- 2021-12-15 17:17:04
- Re: [Aiuto!] Copiare contenuto file su lista riga per riga con ciclo for
- Forum >> Programmazione Python >> Files e Directory
- nuzzopippo grazie di cuore per la tua dettagliata risposta!
La qualità del mio sonno è migliorata notevolmente ma restano due cose che mi tormentano...
".append" era quello che faceva al caso mio!
Sono riuscito così a salvare il contenuto di un file riga per riga con for nel seguente modo:new_list2=[] i=1 with open("test3.txt") as test: for index in test: print("Riga %0i" %i+":", index, end="") i+=1 new_list2.append(index) print("Questo è il contenuto di new_list2:", new_list2) print("new_list2 Type:", type(new_list2)) print("\n")
Risultato:
Riga 1: Prima riga
Riga 2: Seconda Riga
Riga 3: Terza riga
Questo è il contenuto di new_list2: ['Prima riga\n', 'Seconda Riga\n', 'Terza riga\n']
new_list2 Type: <class 'list'>
Domanda 1: non usare .readline o simili come sopra è "male"?
Dato che non usare .readline mi lasciava qualche perplessità, ho provato a usarlo nel seguente modo ma il risultato mi ha confuso...new_list3=[] i=1 with open("test3.txt") as test: for line in test: read=test.readline() print("Riga %0i" %i+":", read, end="") i+=1 new_list3.append(read) print("Questo è il contenuto di new_list3:", new_list3) print("new_list3 Type:", type(new_list3)) print("\n")
Risultato:
Riga 1: Seconda Riga
Riga 2: Questo è il contenuto di new_list3: ['Seconda Riga\n', '']
new_list3 Type: <class 'list'>
Domanda 2: Perché ottengo questo risultato?
Grazie ancora per l'attenzione
--- Ultima modifica di Rosario Pettinato in data 2021-12-15 17:23:08 ---
-
- 2021-12-14 17:20:28
- [Aiuto!] Copiare contenuto file su lista riga per riga con ciclo for
- Forum >> Programmazione Python >> Files e Directory
- Salve ha tutti!
Per quanto non vedo una grande utilità nel copiare il contenuto di un file in una lista,
la cosa non mi sta facendo dormire la notte...
Se scrivo:
test=open("test3.txt") new_list0=test.readline() new_list1=test.readline() new_list2=test.readline() test.close() print("\nnew_list con 3 redline():", new_list) print("new_list Type:", type(new_list)) print("\n")
riesco a copiare le prime tre stringhe del file test.txt in new_list, ed ad indicizzarle una ad una.
Volendo rendere dinamico il codice precedente, ho provato ad usare un ciclo for nel seguente modo:new_list=[] i=0 test=open("test3.txt") for line in test: new_list=test.readline() i=i+1 test.close() print("\nnew_list con for:", new_list)
oppure
new_list=[] i=0 test=open("test3.txt") for line in test: print("Linea",i+1,":",line) print("Linea",i+1,"Type:",type(line)) new_list=line i=i+1 test.close() print("\nnew_list con for:", new_list)
o anche
i=0 j=0 test=open("test3.txt") for line in test: print(i) i=i+1 print("\ntest3.txt contiene ",i," stringhe") while j<i: print(j) new_listj=test.readline() j+=1 test.close() print("\nnew_list con for:", new_list)
ma in tutti i casi ottengo il seguente errore:
new_list=test.readline() IndexError: list assignment index out of range
Qualcuno saprebbe spiegarmi il perché è come scrivere correttamente questo codice?
Usando .readlines() riesco ad ottenere il mio scopo correttamente ma quello che mi tormenta è come farlo leggendo il file riga per riga.
*P.S. Postando la domanda, ho notato che le parentesi quadre con l'indice dopo new_list scompaiono dal mio testo quando posto la domanda... Se non le vedete, sappiate che ci sono
Grazie in anticipo per le vostre risposte!
--- Ultima modifica di Rosario Pettinato in data 2021-12-14 17:32:05 ---
-
- 2016-04-04 05:40:27
- Re: input e raw_input
- Forum >> Principianti
- Grazie!
Era proprio quello che mi serviva sapere.
--- Ultima modifica di anacron333 in data 2016-04-04 05:51:05 ---
-
- 2016-04-03 12:54:42
- input e raw_input
- Forum >> Principianti
- Io uso Python 2.7.x e mi sono posto il seguente quesito:
Esiste in Python una soluzione che consenta di inserire, interi, decimali, o stringhe ed identificarne il tipo in un secondo momento?
'input' mi concede l'immissione di interi e decimali ma mi restituisce un codice d'errore se provo ad immettere una stringa.
'raw_input' invece, accetta qualsiasi tipo di immissione anche numerica, che però di fatto risulterà essere una stringa e quindi non mi sarà possibile operarvi come sui decimali('2'+'2'==22).
In pratica io vorrei richiedere all'utente l'immissione di un numero intero ma, qualora l'utente dovesse digitare una lettera identificarla come tale e chiedergli nuovamente l'inserimento di un valore numerico senza generare un codice d'errore.
Sapreste dirmi come fare?
Grazie in anticipo