逐字逐句地逐字逐句地迭代

时间:2015-08-06 01:41:26

标签: python

我想知道如何逐字逐句地遍历字符串。

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

     

     

名词

     

但我正在寻找以下输出:

  

     

     

     

的字符串

5 个答案:

答案 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']