Как преобразовать список длин в строку, разделенную запятой, в python

Я новичок в python и имею список длин, которые я хочу объединить в строку, разделенную запятой.

В PHP я бы сделал что-то вроде этого:

$output = implode(",", $array)

В Python я не уверен, как это сделать. Я пробовал использовать соединение, но это не работает, поскольку элементы являются неправильным типом (т.е. Не строками). Нужно ли мне создавать копию списка и преобразовывать каждый элемент в копию из длинной строки? Или есть более простой способ сделать это?

Ответы

Ответ 1

Вам нужно преобразовать ints в строки, а затем вы можете присоединиться к ним:

','.join([str(i) for i in list_of_ints])

Ответ 2

Вы можете использовать карту для преобразования списка, а затем присоединить их.

",".join( map( str, list_of_things ) )

Кстати, это работает для любых объектов (а не только для длин).

Ответ 3

Вы можете опустить квадратные скобки из ответа heikogerlach с Python 2.5, я думаю:

','.join(str(i) for i in list_of_ints)

Это очень похоже, но вместо того, чтобы создавать (потенциально большой) временный список всех строк, он будет генерировать их по одному, по мере необходимости, функцией соединения.

Ответ 4

Просто ради этого вы также можете использовать форматирование строк:

",".join("{0}".format(i) for i in list_of_things)

Ответ 5

и еще одна версия (довольно круто, а?)

str(list_of_numbers)[1:-1]