开发者

Print all items in a list with a delimiter

开发者 https://www.devze.com 2022-12-22 00:48 出处:网络
Consider this Python code for printing a list of comma separated values for element in list: print element + ",",

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.

ex

开发者_运维百科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 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!


It's very easy:

print(*a, sep=',')

Print lists in Python (4 Different Ways)


There are two options ,

You can directly print the answer using print(*a, sep=',') this will use separator as "," you will get the answer as ,

1,2,3

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

1,2,3


That's what join is for.

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


print ','.join(a)


 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'
0

精彩评论

暂无评论...
验证码 换一张
取 消