Python: преобразование списка списков в кортежи кортежей - PullRequest
16 голосов
/ 01 апреля 2011

Питон новичок!Мне нужна помощь в преобразовании списка кортежей списков кортежей.

Я хочу вызвать функцию append_as_tuples, но каждый раз, когда я возвращаю его, он говорит:
он может только объединять списки (не кортежи) в списки

Вот что у меня есть:

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 ]

52 голосов
/ 01 апреля 2011

Чтобы преобразовать list_of_lists в кортеж, используйте

tuple_of_tuples = tuple(tuple(x) for x in list_of_lists)
4 голосов
/ 29 января 2012

есть встроенная функция python: список и кортеж

список (кортеж) ... чтобы конвертировать кортеж в список кортеж (список) .... чтобы конвертировать список в кортеж

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...