请帮我解析二维数组。 例如我有数组:
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;
感谢帮助
最佳答案
你可以这样做:
>>> ' '.join('{} {};'.format(a, ','.join(b)) for a, b in zip(date, zip(*arr)))
'1 - a1,b1; 2 - a2,b2; 3 - a3,b3;'
首先我们使用 zip 和 *
转置 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;'
关于python - 在python中将二维数组解析为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26917922/