What is the difference between input().strip().split() and i



Split((函数使用空白字符串作为分隔符并删除空字符串,所以我认为使用strip((或rstrip((函数来删除头部或尾部的额外空白是没有用的。这是我的例子:

a = ' n   1 2 3 4     nn 5 nn t'
b = a.rstrip().split()
c = a.split()
print('b =',b)
print('c =',c)

结果是:

b = ['1', '2', '3', '4', '5']
c = ['1', '2', '3', '4', '5']

两者之间似乎没有区别。然而,前者(intput().strip().split()(似乎得到了更广泛的应用。那么这两种表达方式有什么区别呢?

没有区别。默认情况下,split()会忽略输入端的空白。人们首先调用strip(),要么是因为他们认为它更清晰,要么是由于他们不知道split()的这种行为。

文件:

如果未指定sep或sep为None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果的开头或结尾将不包含空字符串。因此,使用None分隔符拆分空字符串或仅由空白组成的字符串会返回[]。

最新更新