所以我有這樣的代碼在這裏:分離字符串爲單個單詞(Python)的
#assign a string to variable
x = "example text"
#create set to store separated words
xset = []
#create base word
xword = ""
for letter in x:
if letter == " ":
#add word
xset.append(xword)
#add space
xset.append(letter)
#reset base word
else:
#add letter
xword = xword + letter
#back to line 9
#print set with separated words
print xset
所以非常自我解釋,對於該函數查找在x
每個字母,如果它不是一個空間它將其添加到xword
(想象它像xword = "examp" + "l"
,這將使xword = "exampl"
)。如果它是一個空格,它將xword
和一個空格添加到該集合,並重置xword
。
我的問題是,"text"
這個詞沒有被包含在最終的集合中。當這個代碼運行,並且該集合被打印時,它給出這個:[['example','']
那麼爲什麼"text"
不出現在集合中呢?
在你循環中,只有當你點擊一個空格時纔會添加一個單詞。在最後一個單詞之後沒有空格,所以最後一個單詞不會被添加。嘗試在循環結束後向列表中添加'xword'(它是一個列表,而不是一個集合)。 – khelwood
我想你是在做這個課程的一部分。在這種情況下,這是有道理的。否則:'xset = x.split()' – zvone
'x.split()'是好的,但是如果你想保留列表中的空間,請執行: 're.split(「()」,x)' – dpjanes