Sto sperimentando con python e sono bloccato cercando di capire i messaggi di errore nel contesto di ciò che sto facendo.Comprensioni con più set di input
Sto giocando intorno con comprensioni e cercando di trovare un modello per creare una lista/comprensione dizionario con più di un ingresso impostato (supponendo che questo è possibile):
Nota: Qui l'ingresso di parola set significa l'area di input della comprensione. Nella notazione setbuilder, da cui Python ha derivato le sue comprensioni [Y per X in LIST], Y è la funzione di output, X è la variabile e LIST è l'insieme di input.
Si supponga Ho il seguente codice di lavoro:
from random import randint
mydict = {k: 0 for k in range(10)}
result = {randint(0,9): v + 1 for v in mydict.values()}
Non sto cercando di fare qualcosa di speciale. Questo codice non è nemmeno utile perché non funzionerà come previsto. Tutti gli elementi nel dizionario avranno il valore 1, anziché solo quelli puntati dal generatore casuale. Il mio unico obiettivo è avere una base da cui inizio il mio tentativo di lavorare con una tupla di set di input.
from random import randint
mydict = {k: 0 for k in range(10)}
result = {k: v + 1 for k, v in (randint(0,9), mydict.values())}
Questa opzione mi dà: TypeError: 'int' object is not iterable
.
Scambiando i set di ingresso e di disimballaggio ho:
result = {k: v + 1 for *v, k in (mydict.values(), randint(0,9))}
Ma questa opzione mi dà: TypeError: can only concatenate list (not "int") to list
Sono questi errori che compaiono perché sto cercando di fare qualcosa di grammatica lingua non capisce, o mi manca qualcosa e potrei in effetti risolvere il codice?
non è chiaro quello che in uscita si aspetta * *. Di ''randint (0,9)' ha restituito 3; quale risultato vorresti? – DSM
Vuoi un dtt con i tasti da 'range (10)' e valori casuali da 'randint'? – Navith
Voi gente siete focalizzati sull'intenzione del codice. L'unica intenzione qui è vedere se c'è un modo per avere una tupla di insiemi di input in una comprensione. Il codice è solo la mia base per la sperimentazione. –