Подтвердить что ты не робот

Как "правильно" распечатать список?

Итак, у меня есть список:

['x', 3, 'b']

И я хочу, чтобы результат был:

[x, 3, b]

Как я могу сделать это в python?

Если я делаю str(['x', 3, 'b']), я получаю один с кавычками, но мне не нужны кавычки.

4b9b3361

Ответ 1

mylist = ['x', 3, 'b']
print '[%s]' % ', '.join(map(str, mylist))

Ответ 2

Если вы используете Python3:

print('[',end='');print(*L, sep=', ', end='');print(']')

Ответ 3

Вместо использования map я бы рекомендовал использовать выражение генератора с возможностью join принимать итератор:

def get_nice_string(list_or_iterator):
    return "[" + ", ".join( str(x) for x in list_or_iterator) + "]"

Здесь join является функцией-членом класса string str. Он принимает один аргумент: список (или итератор) строк, а затем возвращает новую строку со всеми элементами, связанными в этом случае ,.

Ответ 4

Вы можете удалить все ненужные символы из строки, используя translate() method с None для аргумента table, за которым следует строка, содержащая символы (символы), которые вы хотите удалить для аргумента deletechars.

lst = ['x', 3, 'b']

print str(lst).translate(None, "'")

# [x, 3, b]

Если вы используете версию Python до версии 2.6, вам нужно использовать функцию string module translate() вместо этого, потому что возможность передать None в качестве аргумента table не была добавлена ​​до Python 2.6. Использование его выглядит так:

import string

print string.translate(str(lst), None, "'")

Использование функции string.translate() также будет работать в версии 2.6+, поэтому использование может быть предпочтительным.

Ответ 5

Это простой код, поэтому, если вы новичок, вы должны понимать его достаточно легко.

    mylist = ["x", 3, "b"]
    for items in mylist:
        print(items)

Он печатает все из них без кавычек, как вы хотели.

Ответ 6

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

>>> l = ['x', 3, 'b']
>>> print(*l, sep='\n')
x
3
b
>>> print(*l, sep=', ')
x, 3, b

Ответ 7

Здесь представлен интерактивный сеанс, показывающий некоторые шаги в однострочном пространстве @TokenMacGuy. Сначала он использует функцию map для преобразования каждого элемента в список в строку (фактически, он делает новый список, а не преобразует элементы в старый список). Затем он использует строковый метод join для объединения этих строк с ', ' между ними. Остальное - просто форматирование строк, что довольно просто. (Изменить: этот экземпляр прост, форматирование строк вообще может быть несколько сложным.)

Обратите внимание, что использование join - это простой и эффективный способ создания строки из нескольких подстрок, гораздо более эффективный, чем выполнение, путем последовательного добавления строк к строкам, что связано с большим количеством копирования за кулисами.

>>> mylist = ['x', 3, 'b']
>>> m = map(str, mylist)
>>> m
['x', '3', 'b']
>>> j = ', '.join(m)
>>> j
'x, 3, b'

Ответ 8

Используя .format для форматирования строк,

mylist = ['x', 3, 'b']
print("[{0}]".format(', '.join(map(str, mylist))))

Вывод:

[x, 3, b]

Объяснение:

  • map используется для сопоставления каждого элемента списка с типом string.
  • Элементы объединены в строку с , как разделитель.
  • Мы используем [ и ] в заявлении печати, чтобы показать скобки списка.

Ссылка: .format для форматирования строки PEP-3101