Forum >> Principianti >> Array multidimensione e liste

Pagina: 1

Buongiorno,
sono nuovo di Python e vi chiedevo quale è il miglior approccio agli array multidimensione, ovvero tabelle, che uso spesso

ho provato a gestirli come una lista.

Molto potente, ma non riesco bene a capire come contarle e manipolarle "per righe"




per esempio qualcosa del genere

980782763 Pilota 17,54 4,9

984006423 Pilota 19,95 4,9

904924394 Pilota 16,06 4,9

980782763 Auto 20,9 6,5

984006423 Trattore 19,1 5,9

904924394 Trattore 19,4 5,9




per esempio come faccio a contare che "Pilota" è presente tre volte?

con le liste mi trovo molto bene fino a che si tratta di liste sequenziali, ma

non riesco a capire bene come funzionino con i multicolonna

tabella12, insomma




per esempio ho cercato di cancellare tutte le "righe" il cui secondo valore (Pilota, Auto) è presente meno di tre volte, ma proprio non ci sono riuscito.



for i in range(len(tabella)):

s = tabella[1]

print(s)

print(tabella[1].count(s))

if tabella1.count(s) <3 :

if s in tabella[1]:

print (tabella[1])







come mi consigliate di gestire tabelle di questo tipo?

Grazie!!











Si può accedere alle liste tramite indici, il Tuo problema è schematizzabile in una lista di liste e risolvibile a patto che i dati siano di tipo uniforme, preso il Tuo esempio e problematica basta estrarre gli elementi che hanno "Pilota" all'indice di posizione "1"

Python 3.8.10 (default, Mar 15 2022, 12:22:0 8) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> data = '''980782763 Pilota 17,54 4,9
984006423 Pilota 19,95 4,9
904924394 Pilota 16,06 4,9
980782763 Auto 20,9 6,5
984006423 Trattore 19,1 5,9
904924394 Trattore 19,4 5,9'''
>>> data_list = [x.split() for x in data.split('\n')]
>>> for r in data_list:
	print(r)

	
['980782763', 'Pilota', '17,54', '4,9']
['984006423', 'Pilota', '19,95', '4,9']
['904924394', 'Pilota', '16,06', '4,9']
['980782763', 'Auto', '20,9', '6,5']
['984006423', 'Trattore', '19,1', '5,9']
['904924394', 'Trattore', '19,4', '5,9']
>>> len([x for x in data_list if x1 == 'Pilota'])
3
>>> 
La sintassi, forse, potrebbe darTi delle difficoltà, dato che ho sbrigativamente utilizzato le list-comprehensions che, comunque, fanno parte della base del linguaggio.

Maggiori dettagli in merito li troverai nel tutorial che, certamente, Ti fornirà anche maggiori delucidazioni sull'uso degli elementi basilari del linguaggio, liste comprese ... è un documento che vale la pea leggere.





Ciao




EDIT: l'editor deforma il codice, lo "1" seguente lo "if x" dell'ultimo comando è tra parentesi quadre




--- Ultima modifica di nuzzopippo in data 2022-07-14 08:27:21 ---
Fatti non foste a viver come bruti...
grazie nuzzopippo
mi rileggerò con attenzione il link che mi hai segnalato.




Devo riuscire a comprendere meglio le liste multidimensionali.

Python è potentissimo e permette con un unico comando di agire su un'intera lista, ma la sua sintassi ancora mi sfugge, soprattutto per quanto riguarda le liste a due dimensioni.

Lavorando sul tuo esempio, spero di capirle meglio... perché sembra siano potenti e comode.





--- Ultima modifica di haw3000 in data 2022-07-17 18:15:58 ---
Devo riuscire a comprendere meglio le liste multidimensionali.

Python è potentissimo e permette con un unico comando di agire su un'intera lista, ma la sua sintassi ancora mi sfugge, soprattutto per quanto riguarda le liste a due dimensioni.

Lavorando sul tuo esempio, spero di capirle meglio... perché sembra siano potenti e comode.
Si, python è potente ma quello che Ti ho proposto è solo linguaggio base, una volta che avrai assimilato la base (leggi il tutorial e cerca di padroneggiare i concetti trovati) dai una guardata alla libreria numpy, gli array in particolare Ti forniranno strumenti molto più potenti ancora.
Fatti non foste a viver come bruti...


Pagina: 1



Esegui il login per scrivere una risposta.