为什么空列表的长度在 re.split 中不为 0
why length of empty list is not 0 in re.split
import re
a=''
b=re.split(" |,",a)
print(b)
print(len(b))
print(type(b))
为什么 len(b) 是 1 而不是 0,但实际上 b 是空列表,我在 python re doc
中找不到任何解释
它是一个空列表还是一个包含空字符串的列表? Split() 将始终 return 一个至少包含 1 的数组,因为如果它不能拆分字符串,它将 return 整个字符串。在本例中为空字符串,但它仍算作列表中的一个项目。
b
不是空列表。这是一个包含空字符串的列表。
规则是 split
returns 比字符串中出现(非重叠)分隔符的元素多 1 个。因此,当分隔符出现一次时,您将得到一个包含两个字符串的列表。如果出现次数为零,您将得到一个包含一个字符串的列表。
import re
a=''
b=re.split(" |,",a)
print(b)
print(len(b))
print(type(b))
为什么 len(b) 是 1 而不是 0,但实际上 b 是空列表,我在 python re doc
中找不到任何解释它是一个空列表还是一个包含空字符串的列表? Split() 将始终 return 一个至少包含 1 的数组,因为如果它不能拆分字符串,它将 return 整个字符串。在本例中为空字符串,但它仍算作列表中的一个项目。
b
不是空列表。这是一个包含空字符串的列表。
规则是 split
returns 比字符串中出现(非重叠)分隔符的元素多 1 个。因此,当分隔符出现一次时,您将得到一个包含两个字符串的列表。如果出现次数为零,您将得到一个包含一个字符串的列表。