请帮我解析二维数组。 例如,我有数组:
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;
感谢您的帮助
答案 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
*
>>> 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;'