[英]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.