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

Список рассылки для Python

Рассмотрим этот код Python для печати списка значений, разделенных запятыми

for element in list:
    print element + ",",

Какой предпочтительный метод печати такой, что запятая не появляется, если element является конечным элементом в списке.

ех

a = [1, 2, 3]
for element in a
  print str(element) +",",

output
1,2,3,
desired
1,2,3
4b9b3361

Ответ 1

>>> ','.join(map(str,a))
'1,2,3'

Ответ 2

A ','.join, как было предложено в других ответах, является типичное решение Python; нормальный подход, который я не вижу ни в одном из ответов до сих пор,

print ','.join(str(x) for x in a)

известное как выражение генератора или ген xp.

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

for i, x in enumerate(a):
  if i: print ',' + str(x),
  else: print str(x),

это первый коммутатор (работает для любого итеративного a, списка или другого), поэтому он помещает запятую перед каждым элементом, кроме первого. Переключатель последнего времени немного менее изящный, и он работает только для итераций, которые имеют len() (не для полностью общих):

for i, x in enumerate(a):
  if i == len(a) - 1: print str(x)
  else: print str(x) + ',',

В этом примере также используется последний переключатель для завершения строки при печати самого последнего элемента.

Встроенная функция enumerate очень полезна и стоит иметь в виду!

Ответ 3

То, что join для.

','.join([str(elem) for elem in a])

Ответ 4

Есть два варианта:

Вы можете напрямую распечатать ответ, используя print(*a, sep=',') это будет использовать разделитель как "," вы получите ответ как,

1,2,3

а другой вариант:

print(','.join(str(x) for x in list(a)))

это приведет к повторному запуску списка и печати (a) и печати вывода в виде

1,2,3

Ответ 5

print ','.join(a)

Ответ 7

 def stringTokenizer(sentense,delimiters):
     list=[]
     word=""
     isInWord=False
     for ch in sentense:
         if ch in delimiters:
             if isInWord: # start ow word
                 print(word)
                 list.append(word)
                 isInWord=False
         else:
             if not isInWord: # end of word
                 word=""
                 isInWord=True
             word=word+ch
     if isInWord: #  end of word at end of sentence
             print(word)
             list.append(word)
             isInWord=False
     return list

print (stringTokenizer (u "привет парни! я вам стихами, может быть, еще отвечу", ",!" ))

Ответ 8

>>> a=[1,2,3]
>>> a=[str(i) for i in a ]
>>> s=a[0]
>>> for i in a[1:-1]: s="%s,%s"%(s,i)
...
>>> s=s+","+a[-1]
>>> s
'1,2,3'