Ho tre elenchi, il primo è un elenco di nomi, il secondo è un elenco di dizionari e il terzo è un elenco di dati. Ogni posizione in una lista corrisponde alle stesse posizioni negli altri elenchi. List_1 [0] ha dati corrispondenti in List_2 [0] e List_3 [0], ecc. Vorrei trasformare questi tre elenchi in un dizionario all'interno di un dizionario, con i valori in List_1 come chiavi primarie. Come faccio a fare questo mantenendo tutto in ordine?Concatenazione di dizionari
6
A
risposta
13
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [7,8,9]
>>> dict(zip(a, zip(b, c)))
{1: (4, 7), 2: (5, 8), 3: (6, 9)}
Vedere la documentation per più informazioni zip
.
Come indicato di seguito, potrebbe essere utile esaminare itertools.izip()
se i dati di input sono grandi. izip
fa essenzialmente la stessa cosa di zip
, ma crea iteratori anziché elenchi. In questo modo, non creare elenchi temporanei di grandi dimensioni prima di creare il dizionario.
1
Python 3:
combined = {name:dict(data1=List_2[i], data2=List_3[i]) for i, name in enumerate(List_1)}
Python 2.5:
combined = {}
for i, name in enumerate(List_1):
combined[name] = dict(data1=List_2[i], data2=List_3[i])
0
se l'ordine di questi argomenti cose, non si dovrebbe usare un dizionario. per definizione, sono non ordinati. è possibile utilizzare uno degli many ordered_dictionary implementations mobile oppure attendere Python 2.7 o 3.1 che includerà un'implementazione di dizionario ordinata nel modulo delle raccolte.
Problemi correlati
- 1. Unione di risorse Dizionari
- 2. dizionario python di dizionari
- 3. Python byte di concatenazione
- 4. Batch concatenazione di stringhe
- 5. concatenazione di stringhe LPWSTR
- 6. Groovy concatenazione di stringhe
- 7. concatenazione di stringhe PHP
- 8. JOOQ concatenazione
- 9. Varianti di concatenazione di stringhe?
- 10. Python: l'ordinamento dizionario di dizionari
- 11. Array di dizionari in C#
- 12. Inversione di dizionari in Python
- 13. Uso di Lambda con dizionari
- 14. Confronto degli elenchi di dizionari
- 15. Memorizzazione di dizionari in Firebase?
- 16. Concatenazione di elenchi in Prolog
- 17. Selettore di concatenazione in jQuery?
- 18. Concatenazione di stringhe in Lua
- 19. concatenazione di stringhe con Null
- 20. Concatenazione di stringhe con log4net
- 21. Metodo di concatenazione dal namespace
- 22. Concatenazione di stringhe in Jinja
- 23. concatenazione di stringhe in css
- 24. Concatenazione di raccolte in PLSQL
- 25. concatenazione di stringhe utilizzando JavaScript
- 26. ricorsiva concatenazione di Parent Elementi
- 27. concatenazione di stringhe e caratteri
- 28. Concatenazione di stringhe in EL
- 29. Concatenazione di NSString nell'obiettivo C
- 30. Concatenazione di stringhe con spazi
Se a, b, c sarà enorme, consiglio izip dal modulo itertools. – Arpegius
@lionbest: buon punto, l'ho aggiunto. – balpha