为什么是Python字符串分割()未分裂(why is python string split()

2019-06-18 00:13发布

我有以下Python代码。

class MainPage(BaseHandler):

    def post(self, location_id):
        reservations = self.request.get_all('reservations')
        for r in reservations:
            a=str(r)
            logging.info("r: %s " % r)
            logging.info("lenr: %s " % len(r))
            logging.info("a: %s " % a)
            logging.info("lena: %s " % len(a))
            r.split(' ')
            a.split(' ')
            logging.info("split r: %s " % r)
            logging.info("split a: %s " % a)

我得到以下日志打印输出。

INFO     2012-09-02 17:58:51,605 views.py:98] r: court2 13 0 2012 9 2 
INFO     2012-09-02 17:58:51,605 views.py:99] lenr: 20 
INFO     2012-09-02 17:58:51,605 views.py:100] a: court2 13 0 2012 9 2 
INFO     2012-09-02 17:58:51,606 views.py:101] lena: 20 
INFO     2012-09-02 17:58:51,606 views.py:108] split r: court2 13 0 2012 9 2 
INFO     2012-09-02 17:58:51,606 views.py:109] split a: court2 13 0 2012 9 2 

我得到了相同的日志打印,如果不是的分裂(”“)我用split(),顺便说一句。

为什么分割结果不能分裂成6个条目列表? 我想这个问题是HTTP请求参与,因为我在GAE交互式控制台测试得到预期的结果。

Answer 1:

split没有修改字符串。 它返回分割部分的列表。 如果您想使用列表中,你需要将其分配到的东西用,例如, r = r.split(' ')



Answer 2:

split不分裂原始字符串,而是返回一个列表

>>> r  = 'court2 13 0 2012 9 2'
>>> r.split(' ')
['court2', '13', '0', '2012', '9', '2']


Answer 3:

更改

r.split(' ')
a.split(' ')

r = r.split(' ')
a = a.split(' ')

说明: split不到位的字符串分割,而是返回一个分裂的版本。

从文件建立:

split(...)

    S.split([sep [,maxsplit]]) -> list of strings

    Return a list of the words in the string S, using sep as the
    delimiter string.  If maxsplit is given, at most maxsplit
    splits are done. If sep is not specified or is None, any
    whitespace string is a separator and empty strings are removed
    from the result.


文章来源: why is python string split() not splitting
标签: python http