删除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]