首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >'if x.strip( )‘是什么意思?

'if x.strip( )‘是什么意思?
EN

Stack Overflow用户
提问于 2013-06-24 03:02:26
回答 3查看 14.2K关注 0票数 7

所以我之前在代码中遇到了问题,因为当我迭代foodList时,我得到了一个空行。

有人建议使用'if x.strip():‘方法,如下所示。

代码语言:javascript
运行
复制
for x in split:
  if x.strip():
    foodList = foodList + [x.split(",")]

它工作得很好,但我只想知道它的实际含义。我知道它删除了空格,但上面的if语句不是说如果x有空格则为true吗?这会和我想要的相反吗?我只想围绕着术语和它在幕后做的事情展开我的演讲。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-24 03:04:44

在Python中,“空”对象-空列表、空字典,以及本例中的空字符串-在布尔上下文中被认为是假的(如if)。任何不为空的字符串都将被视为true。strip返回去掉空格后的字符串。如果字符串只包含空格,则strip()将剥离所有内容并返回空字符串。因此,if strip()的意思是“如果strip()的结果不是空字符串”-如果字符串包含空格以外的内容。

票数 13
EN

Stack Overflow用户

发布于 2013-06-24 03:05:30

方法()返回字符串的副本,其中的所有字符都已从字符串的开头和结尾(默认空白字符)中剥离。

因此,如果没有指定输入字符,它会从字符串的开头和结尾去掉空格。此时,它只控制字符串x是否为空,而不考虑空格,因为empty字符串在python中被解释为false

票数 3
EN

Stack Overflow用户

发布于 2020-04-22 14:45:58

简单地说,当用户可以输入一些数据,而您希望确保用户输入了一些数据,而不是什么也没有输入时,就会使用这种语法。

让我们进一步简化它:

  • case(1):x.strip()为空,表示用户未输入任何内容。在本例中,x.strip()False,因为空字符串不是空的,x.strip()不是空的,这意味着用户确实输入了一些东西(而不是空格)。在这种情况下,x.strip()将返回删除了空格尾部和前面的字符串,即“the”。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17264226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档