在python中将二维数组解析为字符串

时间:2014-11-13 20:36:39

标签: python django string list

请帮我解析二维数组。 例如,我有数组:

arr = [['a1', 'a2', 'a3'],['b1', 'b2', 'b3']]

并且有循环,在它们中创建了一个带有新数组和一个二维数组的字符串。

前:

date = ['1 -', '2 -', '3 -']
string = ""
for i in range(len(date)):
   string = string + str(date[i]) + ...

如何在这个循环中我可以采用字符串值,如:

1 - a1,b1; 2 - a2,b2; 3 - a3,b3;

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

你可以做类似的事情:

>>> ' '.join('{} {};'.format(a, ','.join(b)) for a, b in zip(date, zip(*arr)))
'1 - a1,b1; 2 - a2,b2; 3 - a3,b3;'

首先,我们使用arr

的zip来转置*
>>> x = zip(*arr)
>>> x
[('a1', 'b1'), ('a2', 'b2'), ('a3', 'b3')]

现在我们可以用日期压缩这个来获得:

>>> y = zip(date, x)
>>> y
[('1 -', ('a1', 'b1')), ('2 -', ('a2', 'b2')), ('3 -', ('a3', 'b3'))]

现在我们可以简单地遍历这个数组并对项目执行字符串格式化和str.join操作:

>>> z = ['{} {};'.format(a, ','.join(b)) for a, b in y]
>>> z
['1 - a1,b1;', '2 - a2,b2;', '3 - a3,b3;']

现在我们需要做的就是使用' '

加入这些项目
>>> ' '.join(z)
'1 - a1,b1; 2 - a2,b2; 3 - a3,b3;'