我想知道如何逐字逐句地遍历字符串。
def _request(self, api_url, params=()):
args = {'api_key': self.api_key}
for key, value in params.items():
if key not in args:
args[key] = value
response = requests.get(
Consts.URL['base'].format(
proxy=self.region,
region=self.region,
url=api_url
),
params=args
)
print response.url
return response.json()
以上给出了输出:
吨
ħ
我
取值
我
取值
一
取值
吨
[R
我
名词
克
但我正在寻找以下输出:
此
是
一
的字符串
答案 0 :(得分:53)
当你这样做时 -
for word in string:
您没有遍历字符串中的单词,而是遍历字符串中的字符。要迭代这些单词,首先需要使用str.split()
将字符串拆分为单词,然后迭代它。示例 -
my_string = "this is a string"
for word in my_string.split():
print (word)
请注意,str.split()
,不传递所有空格(空格,多个空格,制表符,换行符等)的任何参数。
答案 1 :(得分:7)
这是一种方法:
string = "this is a string"
ssplit = string.split()
for word in ssplit:
print (word)
输出:
this
is
a
string
答案 2 :(得分:3)
for word in string.split():
print word
答案 3 :(得分:0)
使用nltk。
from nltk.tokenize import sent_tokenize, word_tokenize
sentences = sent_tokenize("This is a string.")
words_in_each_sentence = word_tokenize(sentences)
您可以使用TweetTokenizer来解析带有表情符号等的随意文本。
答案 4 :(得分:0)
s = 'hi how are you'
l = list(map(lambda x: x,s.split()))
print(l)
输出:['hi', 'how', 'are', 'you']