2016-07-27 32 views
-3

Ich möchte Liste in Liste von Liste umwandeln. Beispiel:Liste in Liste von Listen umwandeln

my_list = ['banana', 'mango', 'apple'] 

Ich möchte:

my_list = [['banana'], ['mango'], ['apple']] 

Ich habe versucht:

list(list(my_list)) 
+5

Mögliches Duplikat [eine Liste in verschachtelten Listen in Python Drehen] (http://stackoverflow.com/questions/6614891/Drehen-eine-Liste-in-verschachtelte-Listen-in-Python) – miradulo

Antwort

9

Verwenden Liste Verständnis

[[i] for i in lst] 

Es iteriert jedes Element in der Liste und legte das Element in eine neue Liste.

Beispiel:

>>> lst = ['banana', 'mango', 'apple'] 
>>> [[i] for i in lst] 
[['banana'], ['mango'], ['apple']] 

Wenn Sie list func für jedes Element anwenden, wäre es jedes Element drehen, die zu einer Liste von Strings im String-Format ist.

>>> [list(i) for i in lst] 
[['b', 'a', 'n', 'a', 'n', 'a'], ['m', 'a', 'n', 'g', 'o'], ['a', 'p', 'p', 'l', 'e']] 
>>> 
+0

Dank Avinash .. es funktioniert gut für mich .. – Sameer

+0

Was ist mit Karte? Ich mag diese Karte (Liste, lst) ' – smac89

+0

@Khredos Nooo .... –

3

Versuchen Sie diesen Liner: -

map(lambda x:[x], my_list) 

Ergebnis

In [1]: map(lambda x:[x], my_list) 
Out[1]: [['banana'], ['mango'], ['apple']] 
+1

Obwohl nicht pythonisch, ist dies eine korrekte Antwort. Nicht sicher, warum dies abgelehnt wurde. Kann prägnanter gemacht werden: 'map (list, my_list)'. – SuperSaiyan

+0

@SuperSaiyan Karte ist etwas langsamer als Liste comp. –

+0

@AvinashRaj Ich bevorzuge Lesbarkeit und Eleganz gegenüber Mikrooptimierungen dieser Art. Wenn diese Nanosekunden viel wert sind, wähle ich wahrscheinlich andere Sprachen. – SuperSaiyan