所以我在这里有这个代码:
#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
非常自我解释,for函数查看x
中的每个字母,如果它不是空格,则将其添加到xword
(想象它就像xword = "examp" + "l"
一样,会xword = "exampl"
)。如果是空格,则会为集合添加xword
和空格,并重置xword
。
我的问题是"text"
这个词没有被包含在最后一组中。当运行此代码并打印该集合时,它会给出:`['example','']
那么为什么"text"
出现在集合中呢?
答案 0 :(得分:1)
因为当您的代码到达x
中的空格时,它会附加xword
。但这只有在到达空间时才会发生。由于文字后没有空格,最终结果不会附加到xset
此外,您没有重置xword
:
#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
xword = ""
else:
#add letter
xword = xword + letter
#back to line 9
#print set with separated words
xset.append(xword)
print xset
输出:
['example', ' ', 'text']
答案 1 :(得分:0)
在循环之后你需要再添加一个来添加最后一个单词
#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
xset.append(xword)
#print set with separated words
print xset
答案 2 :(得分:0)
只需使用string.split()。此命令将返回字符串中的单词列表。以下是文档:https://docs.python.org/2/library/string.html
如果您的值是空格分隔的,请执行以下操作:
src/
如果您的分隔符与空格不同,您可以这样指定:
r.split()
Out[26]: ['some', 'text', 'here']