Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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
为什么python3.7使用re.split()返回与python3.6(anaconda)不同的输出?_Python_Python 3.x_Anaconda - Fatal编程技术网

为什么python3.7使用re.split()返回与python3.6(anaconda)不同的输出?

为什么python3.7使用re.split()返回与python3.6(anaconda)不同的输出?,python,python-3.x,anaconda,Python,Python 3.x,Anaconda,如果我使用预装的Python3.7运行上述代码,我将获得以下输出(我真正想要的输出) 现在使用anaconda 3.6.5: [pc@pc-pc PasivicSoftware]$ python3.7 test.py ['', 'V', '', '4', '0', '5', '6', '3', '6', '6', ''] [pc@pc-pc PasivicSoftware]$ which python3.7 /bin/python3.7 python3.7是否改变了re.split的行为?如果

如果我使用预装的Python3.7运行上述代码,我将获得以下输出(我真正想要的输出)

现在使用anaconda 3.6.5:

[pc@pc-pc PasivicSoftware]$ python3.7 test.py
['', 'V', '', '4', '0', '5', '6', '3', '6', '6', '']
[pc@pc-pc PasivicSoftware]$ which python3.7
/bin/python3.7

python3.7是否改变了re.split的行为?如果是这样,我如何获得相同的anaconda输出(列表中只有两个元素)

在3.6中,您会收到这样的警告:

FutureWarning:split()需要非空模式匹配

由于
[-]*
可以匹配长度为零的字符串,因此它在3.7中实现了这一点。你可以通过使用不需要的东西来防止这种情况。
-
-+
都可以(取决于您希望在
V--12345
中发生什么)


如果你不关心连续的
-
符号,你甚至可以做
value.split('-')
,而不需要
re

你真的不想要
value.split(“-”
)?不,那代码是另一个有.split('[-.]*')的代码的副本。我忘了包括点。
[pc@pc-pc PasivicSoftware]$ python3.7 test.py
['', 'V', '', '4', '0', '5', '6', '3', '6', '6', '']
[pc@pc-pc PasivicSoftware]$ which python3.7
/bin/python3.7
[pc@pc-pc PasivicSoftware]$ python3 test.py
/home/pc/anaconda3/lib/python3.6/re.py:212: FutureWarning: split() requires a non-empty pattern match.
  return _compile(pattern, flags).split(string, maxsplit)
['V', '4056366'][pc@pc-pc PasivicSoftware]
$ which python3
/home/pc/anaconda3/bin/python3