Итак, у меня есть список:
['x', 3, 'b']
И я хочу, чтобы результат был:
[x, 3, b]
Как я могу сделать это в python?
Если я делаю str(['x', 3, 'b']), я получаю один с кавычками, но мне не нужны кавычки.
Итак, у меня есть список:
['x', 3, 'b']
И я хочу, чтобы результат был:
[x, 3, b]
Как я могу сделать это в python?
Если я делаю str(['x', 3, 'b']), я получаю один с кавычками, но мне не нужны кавычки.
mylist = ['x', 3, 'b']
print '[%s]' % ', '.join(map(str, mylist))
Если вы используете Python3:
print('[',end='');print(*L, sep=', ', end='');print(']')
Вместо использования map я бы рекомендовал использовать выражение генератора с возможностью join принимать итератор:
def get_nice_string(list_or_iterator):
return "[" + ", ".join( str(x) for x in list_or_iterator) + "]"
Здесь join является функцией-членом класса string str. Он принимает один аргумент: список (или итератор) строк, а затем возвращает новую строку со всеми элементами, связанными в этом случае ,.
Вы можете удалить все ненужные символы из строки, используя 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+, поэтому использование может быть предпочтительным.
Это простой код, поэтому, если вы новичок, вы должны понимать его достаточно легко.
mylist = ["x", 3, "b"]
for items in mylist:
print(items)
Он печатает все из них без кавычек, как вы хотели.
Использование только печати:
>>> l = ['x', 3, 'b']
>>> print(*l, sep='\n')
x
3
b
>>> print(*l, sep=', ')
x, 3, b
Здесь представлен интерактивный сеанс, показывающий некоторые шаги в однострочном пространстве @TokenMacGuy. Сначала он использует функцию map для преобразования каждого элемента в список в строку (фактически, он делает новый список, а не преобразует элементы в старый список). Затем он использует строковый метод join для объединения этих строк с ', ' между ними. Остальное - просто форматирование строк, что довольно просто. (Изменить: этот экземпляр прост, форматирование строк вообще может быть несколько сложным.)
Обратите внимание, что использование join - это простой и эффективный способ создания строки из нескольких подстрок, гораздо более эффективный, чем выполнение, путем последовательного добавления строк к строкам, что связано с большим количеством копирования за кулисами.
>>> mylist = ['x', 3, 'b']
>>> m = map(str, mylist)
>>> m
['x', '3', 'b']
>>> j = ', '.join(m)
>>> j
'x, 3, b'
Используя .format для форматирования строк,
mylist = ['x', 3, 'b']
print("[{0}]".format(', '.join(map(str, mylist))))
Вывод:
[x, 3, b]
Объяснение:
map используется для сопоставления каждого элемента списка с типом string., как разделитель.[ и ] в заявлении печати, чтобы показать скобки списка.