用分隔符打印数组中的元素

1 投票
3 回答
8797 浏览
提问于 2025-04-17 22:16

我刚开始学习Python,现在遇到了一个问题,就是想把一个数组里的元素用特定的符号分隔开来打印出来。我的数组有60000行,每行有26个元素,有些元素只有数字,有些则包含各种字符,包括一些特殊符号。

a[0] = [abc,123,a1b2c3,*wewqe,...] 
a[1] = [098i,qwerty,123qwe,xx-u,...]

我希望输出的结果是这样的(最后一个元素后面不要有“|”,每行要单独显示):

abc|123|a1b2c3|*wewqe,...
098i|qwerty|123qwe|xx-u,...

我试过以下几种方法,但都不行:

for row in results :
    length = len(row)
    print("")#throw in a new line
    print ("Number of elements: " + str(length))
    print '|'.join((str(row)))

还有这个:

for row in results :
    length = len(row)
    print("")#throw in a new line
    print ("Number of elements: " + str(length))
    for item in row:
            print '|'.join(str(item))

还有这个:

 for row in results :
    length = len(row)
    print("")#throw in a new line
    print ("Number of elements: " + str(length))
    for item in row:
    print item,

以上这些方法都有结果,但都不是我想要的。谢谢大家的帮助。

3 个回答

0
>>> ",".join(["a", "b", "c"])
'a,b,c'

这段代码可以帮助你把数组合并在一起。

1

我猜你们的数组里装的是字符串。你可能需要相应地修改一下你的帖子内容。

你可以这样做:

a = [ 'abc','123','a1b2c3','*wewqe' ]
output = '|'.join(a)
print output

输出结果:

abc|123|a1b2c3|*wewqe
5
print '|'.join(map(str, row))

join 是用来连接一系列字符串的。row 是一系列...某种东西,所以 map(str, row) 会把它转换成一系列字符串。如果 row 里的元素已经是字符串(而且应该是),你可以直接这样做:

print '|'.join(row)

撰写回答