将字符串转换为单词数组-Python
我想在Python中创建一个函数,其中输入将是字符串,并将其输入到要返回的数组中 例如:将字符串转换为单词数组-Python,python,arrays,character,substring,Python,Arrays,Character,Substring,我想在Python中创建一个函数,其中输入将是字符串,并将其输入到要返回的数组中 例如: Input: "The dog is red" Output: "The", "dog", "is", "red" 我相信这个算法应该可以工作,但是什么也没有返回。根据我的假设,if语句没有检测到空格(“) 代码如下: string = input("Input here:") def token(string): start = 0 i = 0 token_list = []
Input: "The dog is red"
Output: "The", "dog", "is", "red"
我相信这个算法应该可以工作,但是什么也没有返回。根据我的假设,if语句没有检测到空格(“)
代码如下:
string = input("Input here:")
def token(string):
start = 0
i = 0
token_list = []
for x in range(0, len(string)):
if " " == string[i:i+1]:
token_list = token_list + string[start:i+1]
print string[start:i+1]
start = i + 1
i += 1
return token_list
您可以简单地拆分字符串
result=input.split(" ")
或
您可以将函数修改为如下所示:
string = input("Input here:")
def token(string):
start, i = 0, 0
token_list = []
for x in range(0, len(string)):
if " " == string[i:i+1]:
token_list.append(string[start:i])
start = i + 1
i += 1
token_list.append(string[start:i])
return token_list
print token(string)
如果不想包含尾随空格,则只需在
i
之前追加。第二个append
是必需的,因为您的条件是检查是否有空格包含该单词,但最后一个单词没有尾随空格,而是有一个行尾字符或null。i会,但赋值是空的请我实现我自己的标记器。谢谢!只是想知道,为什么您要在空格之后包含第二个“token_list.append(string[start:i+1])?@user287474,因为您需要在空格之后包含最后一个字符串。在空格之前包含字符串。所以最后一个将被忽略
string = input("Input here:")
def token(string):
start, i = 0, 0
token_list = []
for x in range(0, len(string)):
if " " == string[i:i+1]:
token_list.append(string[start:i])
start = i + 1
i += 1
token_list.append(string[start:i])
return token_list
print token(string)