Я пытаюсь иметь дело со строками, содержащими символы, отличные от ASCII, в Python 2.7. В частности, я хочу, чтобы напечатать элементы списка ниже, чтобы показать их внешнее представление:Как распечатать элементы списка с символами, отличными от ASCII, в функциональном стиле?
foo = "mädchen wörter mutter".split()
Как это:
>>> for x in foo:
... print x
...
mädchen
wörter
mutter
Только мне нужно сделать это в функциональном стиле. Но если я пытаюсь следующий, без использования print
, это внутреннее представление, которое показано на рисунке:
>>> [x for x in foo]
['m\xc3\xa4dchen', 'w\xc3\xb6rter', 'mutter']
Я попытался с помощью print
, как это, но это, очевидно, не работает или как это печатает весь список, а не каждый отдельный элемент:
>>> print [x for x in foo]
['m\xc3\xa4dchen', 'w\xc3\xb6rter', 'mutter']
И размещая print
внутри квадратных скобок возвращает ошибку синтаксиса:
>>> [print x for x in foo]
File "<stdin>", line 1
[print x for x in foo]
^
SyntaxError: invalid syntax
Затем я попытался использовать функцию, которая будет печатать x
: (? Где это происходит из)
>>> def show(x):
... print(x)
...
>>> [show(x) for x in foo]
mädchen
wörter
mutter
[None, None, None]
Этих почти работает, для [None, None, None]
в конце исключения.
Есть функциональный способ просто вывести что-то вроде этого:
>>> [*do_something* for x in foo]
mädchen
wörter
mutter
Спасибо за вашу помощь!
«Есть ли функциональный способ вывести что-то вроде этого?» - Нет. Вы создаете список там, и этот список будет показан. –
Я не знаком с термином «* функциональный стиль *».Что ты имеешь в виду? –
@ Robᵩ Я тоже не честен. Возможно, я должен был сказать «функциональную форму». Меня научили, что '[x for x in foo]' была «функциональной» формой 'for x in foo: x' – LePoufCelebre