2017-11-04 73 views
1

我在python中使用了一個字符串數組,我正在迭代每個值的循環並嘗試使用下面的代碼追加('|')符號。但它沒有像預期的那樣追加如何在python中在字符串數組中添加管道分隔符

result_list = [] 
new_value = 'iek,33833,,sdfd,lope' 
my_list = ['abc,1234,,ickd,sold', 'yeje,38393,,dkdi,eole', 'euei,38393,,idkd,dikd'] 

for val in my_list: 
    result_list.append(val + '|') 

res = result_list.append(new_value) + '|') 
print res 

我試圖打印最後包含新字符串的字符串列表。但它給我下面的錯誤:

類型錯誤:只能串聯列表(不是 「STR」),列出

輸出示例:

abc,1234,,ickd,sold|yeje,38393,,dkdi,eole|euei,38393,,idkd,dikd|iek,33833,,sdfd,lope| 

非常感謝您的幫助!

回答

0

這會直接給你結果。

'|'.join(my_list) + '|' 
+0

這不會將'|'加到最後。 –

+0

這把'|'在所有項目之間,如果你最後還需要,你可以使用'|'.join(my_list)+'|'或以下答案byrew_reece – daemon24

0

無需迭代,您可以使用join()來實現此目的。

my_list = ['abc,1234,,ickd,sold', 'yeje,38393,,dkdi,eole', 'euei,38393,,idkd,dikd'] 

print '|'.join(my_list) 

輸出

abc,1234,,ickd,sold|yeje,38393,,dkdi,eole|euei,38393,,idkd,dikd

+0

謝謝Mahesh。我試圖添加新的字符串到現有的數組,但它給了我一個錯誤。我已經更新了我的成本。請幫忙 –

+0

@learnjquery你得到的錯誤是什麼?你可以更新它 –

+0

我得到這個錯誤 - TypeError:只能連接列表(不是「str」)列表 –

0
result_list = [] 
my_list = ['abc,1234,,ickd,sold', 'yeje,38393,,dkdi,eole', 'euei,38393,,idkd,dikd'] 

for val in my_list: 
    result_list.append(str(val)+"|") 
    # result_list.append() 

print ''.join(result_list) 
+0

感謝Rana。我試圖在迭代我的列表後在我現有的字符串數組上添加一些新的值。但它給我連接列表錯誤。我更新了我的帖子。你可以請我解決這個問題 –

+0

for循環使用val在my_list中: ...:result_list.append(val) ...:result_list.append('|') 那麼如果你想new_value使用result_list .append(new_value)然後result_list.append('|'),它會沒事的。謝謝 – Rana

1

使用列表理解添加|,然後join():只需用'|'.join()

''.join([x+'|' for x in my_list]) 

# abc,1234,,ickd,sold|yeje,38393,,dkdi,eole|euei,38393,,idkd,dikd| 

將不會得到你需要的最終|

相關問題