Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解python中的split()函数_Python_Python 3.x - Fatal编程技术网

理解python中的split()函数

理解python中的split()函数,python,python-3.x,Python,Python 3.x,为什么这段代码在结果列表中返回3个字符串 def猫狗(字符): n1=字符。拆分('cat') 打印(n1) 返回len(n1) 在执行代码时,我得到以下信息。为什么我的列表中有3个字符串?我试图理解split()方法是如何工作的。我希望只看到2个字符串,因为我在cat处拆分字符串catcat——不知道为什么拆分后新列表中有3个字符串 cat_dog('catcat') ['', '', ''] 3 根据: string.split(s[,sep[,maxslit]]):如果第二个参数s

为什么这段代码在结果列表中返回3个字符串

def猫狗(字符):
n1=字符。拆分('cat')
打印(n1)
返回len(n1)
在执行代码时,我得到以下信息。为什么我的列表中有3个字符串?我试图理解
split()
方法是如何工作的。我希望只看到2个字符串,因为我在
cat
处拆分字符串
catcat
——不知道为什么拆分后新列表中有3个字符串

cat_dog('catcat')

['', '', '']

3
根据:

string.split(s[,sep[,maxslit]])
:如果第二个参数sep存在而不是无,则它指定一个字符串用作单词分隔符

因此
characters.split('cat')
将返回一个数组,其中字符串由单词
cat
表示。如果您将调用
“1cat2cat3.split('cat')
,您将得到
[“1”、“2”、“3”]

在您的例子中,字符串
catcat
可以表示为
'+'cat'+'+'+'cat'+'
,因此
'catcat'.split('cat')
将根据以下内容返回
['','',']

string.split(s[,sep[,maxslit]])
:如果第二个参数sep存在而不是无,则它指定一个字符串用作单词分隔符

因此
characters.split('cat')
将返回一个数组,其中字符串由单词
cat
表示。如果您将调用
“1cat2cat3.split('cat')
,您将得到
[“1”、“2”、“3”]

在您的例子中,字符串
catcat
可以表示为
'+'cat'+'+'+'cat'+'
,因此
'catcat'.split('cat')
将返回
['','']

应回答您的问题:

引述如下:

…分隔符。。。被视为分隔空字符串(例如,
'1,2'.split(',')
返回
['1',''2']

在您的情况下,字符串
catcat
被视为:

'catcat'
cat
作为分隔符。

应回答您的问题:

引述如下:

…分隔符。。。被视为分隔空字符串(例如,
'1,2'.split(',')
返回
['1',''2']

在您的情况下,字符串
catcat
被视为:


'catcat'
cat
作为分隔符。

两个分割点表示三个字符串。文档的某些部分是否让您感到困惑?如果是,请您讨论一下好吗?第一个
cat
之前的空字符串,介于
cat
cat
之间的空字符串,最后一个
cat
之后的空字符串。总共有3个空字符串。这个例子听起来很傻,但它就是这样工作的。我尝试了这个,只得到了2个字符串:catu dog('catdog')[''dog']2为什么我得到3个字符串作为重复字符串,比如'catcat',而不是'catdog'?因为。。。
catdog
中只有一个
cat
,但是
catcat
中有两个?这样想:用逗号(
)替换每一个
cat
,您将看到它是如何工作的。第一个变成
,第二个变成
,dog
。实际上我现在明白了。谢谢Selcukt两个分割点意味着三个字符串。文档的某些部分是否让您感到困惑?如果是,请您讨论一下好吗?第一个
cat
之前的空字符串,介于
cat
cat
之间的空字符串,最后一个
cat
之后的空字符串。总共有3个空字符串。这个例子听起来很傻,但它就是这样工作的。我尝试了这个,只得到了2个字符串:catu dog('catdog')[''dog']2为什么我得到3个字符串作为重复字符串,比如'catcat',而不是'catdog'?因为。。。
catdog
中只有一个
cat
,但是
catcat
中有两个?这样想:用逗号(
)替换每一个
cat
,您将看到它是如何工作的。第一个变成
,第二个变成
,dog
。实际上我现在明白了。谢谢Selcuk