Consider this Python code for printing a list of comma separated values
for element in list: print element + ",",
What is the preferred method for printing such that a comma does not appear if
element is the final element in the list.
a = [1, 2, 3] for element in a print str(element) +",", output 1,2,3, desired 1,2,3
','.join as suggested in other answers is the typical Python solution; the normal approach, which peculiarly I don’t see in any of the answers so far, is
print ','.join(str(x) for x in a)
known as a generator expression or genexp.
If you prefer a loop (or need one for other purposes, if you’re doing more than just printing on each item, for example), there are of course also excellent alternatives:
for i, x in enumerate(a): if i: print ',' + str(x), else: print str(x),
this is a first-time switch (works for any iterable a, whether a list or otherwise) so it places the comma before each item but the first. A last-time switch is slightly less elegant and it work only for iterables which have a
len() (not for completely general ones):
for i, x in enumerate(a): if i == len(a) - 1: print str(x) else: print str(x) + ',',
this example also takes advantage of the last-time switch to terminate the line when it’s printing the very last item.
The enumerate built-in function is very often useful, and well worth keeping in mind!
There are two options ,
You can directly print the answer using
this will use separator as “,” you will get the answer as ,
and another option is ,
print(','.join(str(x) for x in list(a)))
this will iterate the list and print the (a) and print the output as
join is for.
','.join([str(elem) for elem in a])
It’s very easy:
Print lists in Python (4 Different Ways)
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”?????? ?????! ? ??? ???????, ????? ????, ??? ??????”,”, !”))
1,2,3] a=[str(i) for i in a ] s=a for i in a[1:-1]: s="%s,%s"%(s,i) ... s=s+","+a[-1] s '1,2,3'a=[