2011-03-31 22 views
11

A Python newbie! Listeler listesinin bir listesini dönüştürmek için yardıma ihtiyacım var.Python: listelerin listesini tuplların tuplesine dönüştürme

İşte

Ben bugüne kadar ne olduğunu

Ben append_as_tuples işlevi çağırmak istiyorum, ama bunu iade her zaman,
sadece listelere listelerini (değil tuples) bitiştirmek söylüyor:

def append_as_tuple(t, l): 
    ''' Convert list l to a tuple and append it to tuple t as a single value ''' 
    return t[:] + (tuple(l),) 

def convert_lists(lol): 
    t = [] 
    if type(lol) == a or type(lol) == tuple: 
     return [convert_lists(lol) for i in t] 
    return append_as_tuples(lol,a) 

#- test harness# 

a=[range(5), range(10,20), ['hello', 'goodbye']] 
print a 
print convert_lists(a) 
print convert_lists([]) 
+2

tuplea listesini dönüştürmek için Sizin 'eğer tipi (lol) == a' oldukça yanlış; ** ** sadece "test demeti" nizde "a" adında bir global değişkeniniz olduğu ve "a" tipi "örneği olmadığından çalışmanız için ** görünür. Böylece test" False "olur. Küresel a olmadan, bir istisna artacaktır. –

cevap

44

işlevinde inşa edilmiş bir piton var

tuple_of_tuples = tuple(tuple(x) for x in list_of_lists) 
+2

Teşekkür ederim efendim. Bu benim problemimi çözdü. –

4

kullanın dizilerini bir tuplea list_of_lists dönüştürmek için: listesi ve tanımlama grubu

listesi (lü) ... .... tuple (liste) listelemek için tuple conver

İlgili konular