我有一个Python中的列表
如。
names = ["Sam", "Peter", "James", "Julian", "Ann"]
我想打印的数组在单行没有正常的" []
names = ["Sam", "Peter", "James", "Julian", "Ann"]
print (names)
将给出输出为;
["Sam", "Peter", "James", "Julian", "Ann"]
这不是我想要的格式,而是这样的;
Sam, Peter, James, Julian, Ann
注意:必须为单行。
如果输入数组是Integer类型,那么您需要首先将数组转换为字符串类型的数组,然后使用join方法来连接或空格。例句:
>>> 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
>>>
直接使用join将连接整数和字符串将抛出错误如上所示。
','.join(list)仅当列表中的所有项都是字符串时才有效。如果您希望将数字列表转换为逗号分隔的字符串。如a =[1,2,3,4]变成'1,2,3,4',那么你可以选择
str(a)[1:-1] # '1, 2, 3, 4'
or
str(a).lstrip('[').rstrip(']') # '1, 2, 3, 4'
尽管这不会删除任何嵌套列表。
将其转换回列表
a = '1,2,3,4'
import ast
ast.literal_eval('['+a+']')
#[1, 2, 3, 4]
对于整数类型的数组,我们需要先将其更改为字符串类型,然后使用连接函数来获得不带括号的干净输出。
arr = [1, 2, 3, 4, 5]
print(', '.join(map(str, arr)))
输出- 1,2,3,4,5
对于字符串类型的数组,我们需要直接使用连接函数来获得不带括号的干净输出。
arr = ["Ram", "Mohan", "Shyam", "Dilip", "Sohan"]
print(', '.join(arr)
输出- Ram, Mohan, Shyam, Dilip, Sohan