Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 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 2023-24 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.

Cicli annidati e List Comprehension

s
sam_dc (680 points)
4 6 7
in Programmare in Python by (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 (1730 points)
3 4 11
by (1.7k 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 (207880 points)
745 1264 2372
by (208k points)
hai mai provato con list("stringa") ?
s
sam_dc (680 points)
4 6 7
by (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)
1 4 14
by (1.6k 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.