соединить список списков надлежащим образом
Я не знаю, глупо ли я, но у меня есть небольшая проблема. У меня есть список list1
списков. Как вы можете видеть ниже, элементы списка в этом списке – ints. В простом цикле я могу пройти через все эти списки. Итак, это:
list1 = [ [0, 1], [2], [3], [4,5,6,7], [8,9], [10], [11,12], ...... ] for item in list1: print item
будет давать:
- Печать версии Python на выходе
- Запись строки (с новыми строками) в Python
- в сценариях Python, как я могу получить вывод из файла subprocess.call в файл
- Совместное использование объекта (экземпляр класса) в python с помощью Менеджеров
- Python с ... как для настраиваемого менеджера контекста
[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)))
- Возможно ли, чтобы внутренний язык питона «для» продолжался, где внешний для остановки?
- Есть ли способ конвертировать несколько форматов даты в datetime python