2013-09-21 20 views
14

İç içe geçmiş bir liste listesini Python 3.3'teki bir tupl listesine dönüştürmeye çalışıyorum. Ancak, bunu yapmak için mantığım yok gibi görünüyor.Yuvalanmış liste listeleri python 3.3'deki bir tuple listesine nasıl dönüştürülür?

>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']] 

Ve şöyle istenen ouptput tam olarak görünmelidir::

girdi olarak aşağıda görünüyor

nested_lst_of_tuples = [tuple(l) for l in nested_lst] 

Demo:

nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')] 

cevap

22

Sadece bir liste anlama kullanın:

>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']] 
>>> [tuple(l) for l in nested_lst] 
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')] 
2
[tuple(l) for l in nested_lst] 
5

Sen map() kullanabilirsiniz: o map hariç

>>> list(map(tuple, [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']])) 
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')] 

Bu liste anlama eşdeğerdir, bunun yerine bir listesinin bir jeneratör döner.

İlgili konular