Sto cercando di appiattire un elenco usando la comprensione degli elenchi in python. La mia lista è un po 'comeappiattisce l'elenco delle liste attraverso la comprensione degli elenchi
[[1, 2, 3], [4, 5, 6], 7, 8]
solo per la stampa poi singola voce in questa lista di lista che ho scritto questo codice
def flat(listoflist):
for item in listoflist:
if type(item) != list:
print item
else:
for num in item:
print num
>>> flat(list1)
1
2
3
4
5
6
7
8
Poi ho usato la stessa logica di appiattire la mia lista attraverso di lista sto ottenendo il seguente errore
list2 = [item if type(item) != list else num for num in item for item in list1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
Come si appiattisce questo tipo di elenco di elenchi utilizzando la comprensione di elenchi?
Questo è ottimo per il richiedente che usa 2.x, ma vale la pena notare che gli utenti 3.x dovrebbero usare 'str' invece di 'basestring'. –
@Ashwini Cosa si dovrebbe fare se i miei elementi sono di tipo dict invece di intero? –
@AnuragSharma piccolo esempio? –