2017-06-16 78 views
0

我的代碼將文件逐行分解爲字符串並將它們擴展爲列表。Python - 在擴展其他字符串時保持字符串不變

我注意到,在只有一個字符串被擴展的情況下,結果會將該字符串拆分並將其逐字符地擴展到空列表。如果我刪除[-1],則字符串保持不變,但其他字符串將被擴展。

如何防止將字符串擴展到空列表時分裂?

searchstring = "abc dfe ghi"  #resembles a searchline from a file 
text = searchstring.split()   #note: same thing happens if i add [-1] here 
list1.extend(text[-1])   #I only want the last element of the string 

因此,無論輸出爲:

print list1 
[abc, dfe, ghi] 

print list1 
[g, h, i] 

,但我需要它這樣

print list1 
[ghi]    #one entry for each line in the file 
+0

我還沒有理解你想要實現什麼 – magicleon

+1

你能提供一個完整的例子嗎?你的'abc','dfe','ghi'應該是字符串文字嗎?如果您可以提供完全複製您的問題的準確代碼以及預期輸出,那將更容易爲您提供幫助。 –

+1

@AlexAlifimoff:https://meta.stackoverflow.com/a/256331/2988730 –

回答

4

list.extend接受一個可迭代。

所以當你給它傳遞一個字符串(ghi)時,它會像列表一樣使用它,用字符串中的字符擴展列表。

您可能希望將該字符串放入列表中或使用list.append

+0

我想解釋一下。將嘗試另一個命令。謝謝! – yfro

+0

@yfro。你應該選擇這個答案,如果它適合你(並且支持它)。 –

+0

解決了:list.append的作品。我已經在代碼中的其他地方使用過它,但有時您只是找不到明顯的解決方案。謝謝! (stackoverflow不會讓我把你的answear標記爲未來5分鐘的解決方案) – yfro

相關問題