2015-07-19 2 views

ответ

1

Попробуйте так:

print stack[0][0]+' '+stack[0][1] 

Подробнее: Рассмотрите этот кусок кода таким образом, я печатаю определенный объект (ОК, это объект юникода) в сочетании с 3 частями, первая часть - это объект из объекта списка, а объект списка - из стека (который также объект списка). Это выглядит так: list (stack) -> list (stack [0]) -> unicode (u'hello ') Вторая часть - это строковый объект:' '(пробел) Третья часть похожа на первая часть, list (stack) -> list (stack [0]) -> str ('world') Положите эти 3 части вместе - результат, который вы видели.

Предлагаю вам подумать о том, какие типы ВЕЩЕЙ вы используете. Потому что для всего в python, если вы знаете его тип, вы, скорее всего, будете знать, какие встроенные функции/методы/операторы вы можете использовать. Это может быть здорово!

И еще одно, я печатаю объект unicode вместе с 2 str объектами.

+0

Работает. Могу ли я узнать, как это работает? – jOSe

+0

спасибо за объяснение – jOSe

1

Идея состоит в том, чтобы преобразовать каждый список в строку на str.join() перед печатью.

>>> stack = [[u'hello', 'world'], [u'blue','sky']] 
>>> print '\n'.join(' '.join(s) for s in stack) 
hello world 
blue sky 

Использование петли:

>>> stack = [[u'hello', 'world'], [u'blue','sky']] 
>>> for s in stack: 
... print ' '.join(s) 
... 
hello world 
blue sky 

Если вы хотите изменить список:

>>> stack = [[u'hello', 'world'], [u'blue','sky']] 
>>> stack = [ ' '.join(s) for s in stack ] 
>>> print '\n'.join(s for s in stack) 
hello world 
blue sky 
+0

@jOSe Я отредактирую свой ответ через некоторое время. – raymelfrancisco

+0

@raymelfransisco :) – jOSe

1
print "\n".join(map(lambda l: " ".join(map(str, l)), stack)) 
1

Используйте pprint, это будет работать для любого размера и вложенности массива.

>>> import pprint 
>>> stack = list() 
>>> stack = [[u'hello','world'],[u'blue','sky']] 
>>> pprint.pprint(stack) 
[[u'hello', 'world'], [u'blue', 'sky']] 
>>> 

В частности использовать этот

for s in stack: 
    print ' '.join(s) 
0

Я тоже хотел, чтобы мой ответ совместно с цикл, и если условие

if len(stackf) > 0: 
     for i in range(len(stackf)): 
      print stackf[i][0] 
      print stackf[i][1]