I have a list in Python e.g.
names = [\"Sam\", \"Peter\", \"James\", \"Julian\", \"Ann\"]
I want to print the array in a single line withou
For array of integer type, we need to change it to string type first and than use join function to get clean output without brackets.
arr = [1, 2, 3, 4, 5]
print(', '.join(map(str, arr)))
OUTPUT - 1, 2, 3, 4, 5
For array of string type, we need to use join function directly to get clean output without brackets.
arr = ["Ram", "Mohan", "Shyam", "Dilip", "Sohan"]
print(', '.join(arr)
OUTPUT - Ram, Mohan, Shyam, Dilip, Sohan
There are two answers , First is use 'sep' setting
>>> print(*names, sep = ', ')
The other is below
>>> print(', '.join(names))
The following function will take in a list and return a string of the lists' items. This can then be used for logging or printing purposes.
def listToString(inList):
outString = ''
if len(inList)==1:
outString = outString+str(inList[0])
if len(inList)>1:
outString = outString+str(inList[0])
for items in inList[1:]:
outString = outString+', '+str(items)
return outString
If the input array is Integer type then you need to first convert array into string type array and then use join
method for joining with ,
or space whatever you want. e.g:
>>> arr = [1, 2, 4, 3]
>>> print(", " . join(arr))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
>>> sarr = [str(a) for a in arr]
>>> print(", " . join(sarr))
1, 2, 4, 3
>>>
Direct using of join which will join the integer and string will throw error as show above.
You need to loop through the list and use end=" "
to keep it on one line
names = ["Sam", "Peter", "James", "Julian", "Ann"]
index=0
for name in names:
print(names[index], end=", ")
index += 1
Here is a simple one.
names = ["Sam", "Peter", "James", "Julian", "Ann"]
print(*names, sep=", ")
the star unpacks the list and return every element in the list.