Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.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拆分函数后的空字符串_Python_Split - Fatal编程技术网

删除python拆分函数后的空字符串

删除python拆分函数后的空字符串,python,split,Python,Split,我正在尝试使用没有空字符串的拆分函数。 例如,从字符串 ['#1(X,Y)', '#2(X,Z)', '#3(Z,Y)'] 我想得到: [ ['#1', 'X', 'Y'],['#2', 'X', 'Z'],['#3', 'Z', 'Y']] 我试过了 [re.split(“[(),]”,item)用于字符串中的项] 但我明白了 [ ['#1', 'X', 'Y', ''],['#2', 'X', 'Z', ''],['#3', 'Z', 'Y', '']] 如何删除“” 谢谢这很难看,

我正在尝试使用没有空字符串的拆分函数。 例如,从字符串

['#1(X,Y)', '#2(X,Z)', '#3(Z,Y)']
我想得到:

[ ['#1', 'X', 'Y'],['#2', 'X', 'Z'],['#3', 'Z', 'Y']]
我试过了

[re.split(“[(),]”,item)用于字符串中的项]
但我明白了

[ ['#1', 'X', 'Y', ''],['#2', 'X', 'Z', ''],['#3', 'Z', 'Y', '']]
如何删除“”


谢谢

这很难看,但是您可以删除每个子列表的最后一个元素(假设它们总是存在并且总是在末尾):

[re.split(“[(),]”,item)[:-1]用于字符串中的项]

您可以过滤掉理解中的空字符:

[[如果字符串中项目的每个!=''],则在重新拆分('[(),]',项目)时每个都对应于每个]
出[77]:[1]、[X]、[Y]、[2]、[X]、[Z]、[3]、[Z]、[Y]]
如果确定空字符串始终是最后一个元素,则可以使用@jtlz2提供的解决方案丢弃最后一个元素

[re.split(“[(),]”,item)[:-1]用于字符串中的项]
出[78]:[1]、[X]、[Y]、[2]、[X]、[Z]、[3]、[Z]、[Y]]

另一个选项是过滤器布尔:

重新导入
字符串=['#1(X,Y)',#2(X,Z)',#3(Z,Y)']
为字符串中的项打印([列表(筛选器(bool,re.split(“[(),]”,item)))
你可以在分开之前把衣服脱了

[re.split('[(,]', s.strip(')')) for s in l]

友好评论::)你花了77分钟才到达那里吗不完全是。我通常开着候机室
[re.split('[(,]', s.strip(')')) for s in l]