[英]Split vs Strip in Python to remove redundant white space
请问我是否需要在split()之前使用strip()去除Python中的任何多余空间(之后变成列表)? 例如:
string1 = ' a b '
我想要结果:
#list1=[a,b]
当我测试时,我发现list1=string1.split()
就足够了。 但不知何故,我的老师说string1.strip().split()
。 也许他错了?
根据文档:
如果sep未指定或为
None
,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾不包含空字符串。
这意味着, strip()
的逻辑已经包含在split()
中,所以我认为,你的老师错了。 (请注意,如果您使用的是非默认分隔符,这将会改变。)
https://docs.python.org/3/library/stdtypes.html#str.split
如果 sep 未指定或为 None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾不包含空字符串。
你是对的(至少在使用默认的空格分割的情况下)。 忽略前导和尾随以及连续的空白字符,并且由于.strip()
除了删除前导和尾随空格外什么都不做,它会在此处产生相同的 output。
我尝试使用:
string1 = ' a b '
list1 = string1.strip().split()
print(list1)
和
string1 = ' a b '
list1 = string1.split()
print(list1)
他们给出了相同的结果。
因此不一定需要使用strip()
,因为它只会删除开头的空格(前导空格)和末尾的空格(尾随空格)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.