Forum >> Principianti >> dizionario

Pagina: 1

intendo costruire un dizionario utilizzando i dati presenti su un file (coppia separata da virgola, e newline tra le coppie). so inserire a mano i dati in un dizionario, ma come posso fare per inserirli tutti automaticamente?
grazie!
Ciao caro, ma non vedo lo straccio di una riga di codice.

Dai comincia a scrivere qualcosa, cerca di capirci qualcosa e poi al limite vediamo insieme cosa non capisci.

Cya
grazie per la risposta.
per il momento non c'è codice.

finché non capisco quella "base" che dicevo, non comincio.

ho un file .txt contenente "coppie" di dati separati dal simbolo virgola (","), mentre le coppie sono separate dalla "newline".

(esempio: "casa di gianni,via rossi 30\nufficio di giorgio,piazza duomo\n...ecc...).

ho bisogno di inserirli in un "dizionario" (dict"), in modo da poterli gestire come fossero, appunto, elementi di un dizionario, e di potervi poi accedere (inserire nuove coppie, ordinare, ecc.) indifferentemente dal lato "key" o dal lato "valore"; ma questo è un lavoro successivo (che farò con tkinter).

per il momento, ripeto, ho bisogno di una dritta su come inserire tutte queste coppie di dati (sono molte) in una "struttura" di tipo "dict", evitando di farlo a mano.

grazie per l'aiuto!
Non specifichi la versione del linguaggio, comunque sia:
1. Per la manipolazione del file guarda qui.
2. Per la gestione del dizionario qui.

In sintesi potresti:
1. Accedere al file (1) ed estrapolare i valori;
2. Formattarli nella forma in cui è meglio per te (\n ti aiutano non poco);
3. Metterli nel dizionario (2) utilizzando un ciclo for, ad esempio, per automatizzare il processo.

Non dovresti trovare molti problemi nella realizzazione dello script, hai anche il file già pronto per essere manipolato con facilità, ma se non ti è chiaro qualcosa scrivi pure.

Cya
velocissimo e preciso, grazie!
(python3).

mi studierò i due link, spero di trovare il modo di inserire i dati...

grazie ancora.
rieccomi.
sono impantanato al punto 3 (metterli nel dizionario).

ho aperto il file diz, letto con readlines chiamandolo d, quindi a terminale vedo tutti i dati incolonnati correttamente (chiave:valore

chiave:valore

ecc.).

ma non saprei da dove cominciare per il ciclo for.

devo usare "dict"? e come fare per dire "prendi il primo dato, inseriscilo come chiave, poi quello dopo i due punti, inseriscilo come valore, e prosegui fino in fondo?

scusa, ma sono davvero alle prime armi con questo linguaggio...

e grazie ancora per l'aiuto!
sono impantanato al punto 3 (metterli nel dizionario).

ho aperto il file diz, letto con readlines chiamandolo d, quindi a terminale vedo tutti i dati incolonnati correttamente (chiave:valore
chiave:valore
ecc.).

ma non saprei da dove cominciare per il ciclo for.

devo usare "dict"? e come fare per dire "prendi il primo dato, inseriscilo come chiave, poi quello dopo i due punti, inseriscilo come valore, e prosegui fino in fondo?
Allega il tuo codice, e vediamo di lavorarci.


THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
non capisco a cosa ti serva, perché in pratica non c'è (ancora) codice, comunque ecco:
diz=open("pippo.txt")

d=diz.readlines()

diz.close()

print(d)

in d ci sono i dati strutturati come dicevo sopra.

non riesco a capire come "trasferire" questi dati in un dizionario ("dict").
non capisco a cosa ti serva, perché in pratica non c'è (ancora) codice, comunque ecco:
diz=open("pippo.txt")

d=diz.readlines()

diz.close()

print(d)

in d ci sono i dati strutturati come dicevo sopra.

non riesco a capire come "trasferire" questi dati in un dizionario ("dict").
In realtà d è una lista di stringhe, ognuna delle quali dici contenere una virgola che separa chiave e valore.
Bene. Vediamo quali possono essere i problemi ora.
☐ Sai come fare un ciclo su una lista?
☐ Sai come "splittare" una stringa in base ad un dato carattere?
☐ Sai come assegnare una nuova coppia (chiave, valore) ad un dizionario?


THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
grazie per la risposta!
ho "splittato" così:

a=open("pippo.txt")

b=a.read()

a.close()

c=b.split(",")

ottenendo la lista c nel formato ['a'='A','b'='B','c'='C'...] (nel file pippo.txt avevo provveduto ad inserire il simbolo "=" tra le coppie).

poi:

i=0

while i<700: # è il numero di coppie che devo caricare

x.insert(END,c) # uso tkinter, x è una Listbox

i=i+1

e fin qui ci sono.

ora vorrei poter gestire (per esempio stampare in ordine alfabetico) sia il primo, sia il secondo dato della coppia. penso che la struttura "giusta" per farlo sia il dizionario... ma qui mi areno...

lo split ed il ciclo (elementare) credo siano a posto, ma ora?

grazie ancora per l'aiuto!


Pagina: 1



Esegui il login per scrivere una risposta.