Ответ 1
>>> ','.join(map(str,a))
'1,2,3'
Рассмотрим этот код 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
>>> ','.join(map(str,a))
'1,2,3'
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 очень полезна и стоит иметь в виду!
То, что join
для.
','.join([str(elem) for elem in a])
Есть два варианта:
Вы можете напрямую распечатать ответ, используя
print(*a, sep=',')
это будет использовать разделитель как "," вы получите ответ как,
1,2,3
а другой вариант:
print(','.join(str(x) for x in list(a)))
это приведет к повторному запуску списка и печати (a) и печати вывода в виде
1,2,3
print ','.join(a)
Это очень просто:
print(*a, sep=',')
Печать списков на Python (4 разных способа)
Удачи.
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 "привет парни! я вам стихами, может быть, еще отвечу", ",!" ))
>>> 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'