Вопрос-Ответ

Print list without brackets in a single row

Печать списка без скобок в одной строке

У меня есть список на Python, например

names = ["Sam", "Peter", "James", "Julian", "Ann"]

Я хочу напечатать массив в одной строке без обычных " []

names = ["Sam", "Peter", "James", "Julian", "Ann"]
print (names)

Выдаст вывод в виде;

["Sam", "Peter", "James", "Julian", "Ann"]

Это не тот формат, который я хочу, вместо этого я хочу, чтобы он был таким;

Sam, Peter, James, Julian, Ann

Примечание: Он должен быть в одной строке.

Переведено автоматически
Ответ 1
print(', '.join(names))

Это, как бы это ни звучало, просто берет все элементы списка и объединяет их с помощью ', '.

Ответ 2

Вот простой способ.

names = ["Sam", "Peter", "James", "Julian", "Ann"]
print(*names, sep=", ")

звездочка распаковывает список и возвращает каждый элемент в списке.

Ответ 3

Общее решение, работает с массивами, не состоящими из строк:

>>> print str(names)[1:-1]
'Sam', 'Peter', 'James', 'Julian', 'Ann'
Ответ 4

Если входной массив имеет целочисленный тип, то вам нужно сначала преобразовать массив в массив строкового типа, а затем использовать join метод для объединения с помощью , или пробела, какой вы хотите. например:

>>> arr = [1, 2, 4, 3]
>>> print(", " . join(arr))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
>>> sarr = [str(a) for a in arr]
>>> print(", " . join(sarr))
1, 2, 4, 3
>>>

Прямое использование join, которое соединит целое число и строку, выдаст ошибку, как показано выше.

python list