[英]parsing two-dimensional array to string in python
請幫助我解析二維數組。 例如我有數組:
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;'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.