我有以下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交互式控制台中的测试得到了预期的结果。
答案 0 :(得分:7)
split
不会修改字符串。它返回拆分的列表。如果您要使用该列表,则需要将其分配给某些内容,例如r = r.split(' ')
。
答案 1 :(得分:4)
split
不拆分原始字符串,但返回列表
>>> r = 'court2 13 0 2012 9 2'
>>> r.split(' ')
['court2', '13', '0', '2012', '9', '2']
答案 2 :(得分:4)
更改
r.split(' ')
a.split(' ')
到
r = r.split(' ')
a = a.split(' ')
说明:split
不会将字符串拆分,而是返回拆分版本。
来自documentaion:
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.