所以我之前在代码方面遇到了问题,因为当我遍历foodList时,我得到了一个空行。有人建议使用“ if x.strip():”方法,如下所示。for x in split: if x.strip(): foodList = foodList + [x.split(",")]它工作正常,但我只想知道它的实际含义。我知道它会删除空格,但是if语句在说x是否有空白然后为true时,上述内容将不会删除。哪个与我想要的相反?只是想让我围绕术语以及它在幕后所做的事情前进。
3 回答
慕仙森
TA贡献1827条经验 获得超7个赞
在Python中,“空”对象-空列表,空字典以及在这种情况下为空字符串-在布尔上下文(如if
)中被认为是假的。任何不为空的字符串都将被视为true。 strip
去除空格后返回字符串。如果字符串仅包含空格,strip()
则将删除所有内容并返回空字符串。因此,if strip()
意思是“如果结果strip()
不是空字符串”,即字符串中除空格以外还包含其他内容。
12345678_0001
TA贡献1802条经验 获得超5个赞
strip()方法返回字符串的副本,该字符串的所有字符均已从字符串的开头和结尾去除(默认的空白字符)。
因此,如果未指定输入字符,它将从字符串的开头和结尾修剪空格。在这一点上,它只控制字符串是否x
为空而不考虑空格,因为empty
字符串false
在python中被解释为
慕村225694
TA贡献1880条经验 获得超4个赞
简而言之,当用户可以输入一些数据并且您要确保用户输入了什么而不是什么都没有时,将使用此语法。
让我们进一步简化一下:
case(1):
x.strip()
为空,表示用户未输入任何内容。在这种情况下x.strip()
是False
因为空字符串为“ Falsey”case(2):
x.strip()
不为空,表示用户输入了某些内容(空格除外)。在这种情况下,x.strip()
将返回删除了结尾和结尾的空格的字符串,即“ Truthy”。
添加回答
举报
0/150
提交
取消