Do you need any help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

Cicli annidati e List Comprehension

s
sam_dc (680 points)
3 6 7
asked Feb 5, 2020 in Programmare in Python by sam_dc (680 points)
Ragazzi ho una domanda che potrebbe sembrare piuttosto banale:
È possibile creare una lista di stringhe (o altre strutture dati diverse dalla lista) utilizzando una list comprehension e dei cicli annidati nello stesso momento?

Ad esempio vorrei ottenere la lista

['a', 'b', 'c', 'd', 'e']

invece di

[['a'], ['b'], ['c'], ['d'], ['e']]

sfruttando la sintassi della list comprehension, utilizzando for annidati, senza necessariamente creare liste di liste, bensì liste di stringhe (ad esempio).

Grazie!

2 Answers

Lorenzomx (1250 points)
2 4 11
answered Feb 5, 2020 by Lorenzomx (1,250 points)

Se parti da "abcde" puoi creare la lista ['a', 'b', 'c', 'd', 'e'] con: lista=[x for x in "abcde"], non devi per forza creare liste di liste, con la sintassi della list comprehension puoi creare liste di interi, di float, di stringhe e di qualsiasi altra cosa. La stessa cosa la puoi applicare agli insiemi {x for x in "abcde"}, e allo stesso modo ai dizionari. 

andrea.sterbini (172780 points)
514 935 1789
commented Feb 5, 2020 by andrea.sterbini (172,780 points)
hai mai provato con list("stringa") ?
s
sam_dc (680 points)
3 6 7
commented Feb 6, 2020 by sam_dc (680 points)
Esatto, fin qui mi era tutto chiaro. Il problema si presenta quando ho la necessita di usare cicli annidati, dato che il ciclo più interno crea una lista che invece non vorrei.
Alexei_Pozidriv (1580 points)
0 4 14
answered Feb 7, 2020 by Alexei_Pozidriv (1,580 points)
Troppe poche informazioni per rispondere correttamente ed in modo preciso alla tua domanda.

Potresti spiegarti meglio, più nel dettaglio evitando l'ambiguità il più possibile, solo così potremo rispondere alla tua domanda.