Как удалить квадратные скобки из списка в Python?
Описание проблемы:
Я пытаюсь вывести список в Python, но получаю вывод с квадратными скобками. Вот мой код:
LIST = ['Python', 'problem', 'whatever']
print(LIST)
Когда я запускаю эту программу, вывод выглядит так:
[Python, problem, whatever]
Меня интересует, возможно ли убрать квадратные скобки из вывода? Как мне добиться вывода списка без скобок?
4 ответ(ов)
Вы можете преобразовать список в строку вместо того, чтобы выводить его напрямую:
print(", ".join(LIST))
Если элементы в списке не являются строками, вы можете конвертировать их в строки, используя либо repr
(если хотите, чтобы строки были в кавычках), либо str
(если не хотите), например так:
LIST = [1, "foo", 3.5, { "hello": "bye" }]
print(", ".join(repr(e) for e in LIST))
Это даст следующий вывод:
1, 'foo', 3.5, {'hello': 'bye'}
Да, существует несколько способов сделать это. Например, вы можете преобразовать список в строку и затем удалить первый и последний символы:
l = ['a', 2, 'c']
print(str(l)[1:-1])
# 'a', 2, 'c'
Если ваш список содержит только строки и вы хотите убрать кавычки, то можно использовать метод join
, как уже было сказано ранее:
l = ['a', 'b', 'c']
print(', '.join(l))
# a, b, c
Таким образом, вы получите строку без кавычек.
Если у вас есть числа в списке, вы можете использовать map
, чтобы применить функцию str
к каждому элементу:
print(', '.join(map(str, LIST)))
Обратите внимание, что map
реализован на C, поэтому он работает быстрее, чем использование генератора списка, например: str(i) for i in LIST
.
Вы можете использовать следующий код для преобразования списка в строку без квадратных скобок:
def listToStringWithoutBrackets(list1):
return str(list1).replace('[','').replace(']','')
Этот метод сначала преобразует список в строку, а затем удаляет символы [
и ]
, что в итоге возвращает строку, содержащую элементы списка, разделенные запятой и пробелом. Однако стоит отметить, что такой подход может оставить лишние запятые, если элементы списка будут отсутствовать. Чтобы избежать этого, лучше использовать метод join
, который более эффективно конструирует строку из элементов списка. Вот пример, как это можно сделать:
def listToStringWithoutBrackets(list1):
return ', '.join(map(str, list1))
Этот вариант преобразует каждый элемент списка в строку и объединяет их с помощью запятой и пробела, что дает более чистый результат.
Как получить последний элемент списка?
Как клонировать список, чтобы он не изменялся неожиданно после присваивания?
Диапазон букв в Python
Нахождение среднего значения списка
Вывод списка в обратном порядке с помощью функции range()