соединить список списков надлежащим образом

Я не знаю, глупо ли я, но у меня есть небольшая проблема. У меня есть список list1 списков. Как вы можете видеть ниже, элементы списка в этом списке – ints. В простом цикле я могу пройти через все эти списки. Итак, это:

 list1 = [ [0, 1], [2], [3], [4,5,6,7], [8,9], [10], [11,12], ...... ] for item in list1: print item 

будет давать:

 [0, 1] [2] [3] [4,5,6,7] ... 

Допустим, мы находимся на первой итерации. item[0, 1] . Я ищу однострочный код, который дает мне доступ к 0 и 1 потому что я хочу напечатать строку позже, которая выглядит так: «Это 0 и 1». Звучит легко? Я думал, что просто join каждому item :

 list1 = [ [0, 1], [2], [3], [4,5,6,7], [8,9], [10], [11,12], ...... ] for item in list1: print [x for x in ''.join(item) ] 

дает эту ошибку:

 print [x for x in ''.join(item) ] TypeError: sequence item 0: expected string, int found 

Я просто не могу присоединиться к [0, 1] потому что python хочет, чтобы я использовал строки. Если я приведу item в строку с этой строкой:

 print [x for x in ''.join(str(item)) ] 

Я получаю этот уродливый результат:

 ['[', '0', ',', ' ', '1', ']'] 

Может ли кто-нибудь рассказать мне, как правильно это сделать? Сейчас я чувствую себя немного глупо. Как я уже говорил, я хотел бы написать что-то вроде 'This is '.join(str(item)) (один код строки)

3 Solutions collect form web for “соединить список списков надлежащим образом”

Вместо того, чтобы преобразовать весь подсписк в строку, вам необходимо преобразовать каждый элемент в каждом подсписке в строку перед присоединением, например

 >>> list1 = [ [0, 1], [2], [3], [4,5,6,7], [8,9], [10], [11,12] ] >>> for sublist in list1: ... print ' '.join(map(str, sublist)) ... 0 1 2 3 4 5 6 7 8 9 10 11 12 

Вы просто хотите, например:

 for item in list1: print " ".join(map(str, item)) 

В Python 3.x вы можете:

 for item in list1: print(*item) 

Я хочу напечатать строку позже, которая выглядит так: «Это 0 и 1».

 list1 = [ [0, 1], [2], [3], [4,5,6,7], [8,9], [10], [11,12] ] for item in list1: print ('This is {}.'.format(' and '.join(str(x) for x in item))) 
  • Количество совпадений регулярных выражений
  • Каков самый чистый способ сделать сортировку плюс uniq в списке Python?
  • Как передать указатель на внешнюю программу в Cython
  • Является ли «* _» приемлемым способом игнорировать аргументы в python
  • Перейдите через список Python и сделайте что-нибудь на последнем элементе
  • Есть ли полный список потенциальных лейблов, которые API Vision Google вернется?
  • Мой код гнездится слишком глубоко. Есть ли способ лучше?
  • Сравнение коллекции рефлексивно, но не короткое замыкание. Зачем?
  • Python - лучший язык программирования в мире.