将字符串拆分为2个列表python

2024-09-30 22:25:33 发布

您现在位置:Python中文网/ 问答频道 /正文

拆分字符串

1.)a,b:i,c,d:i,e,f,g,h

因此,下面是分割的工作方式:

  • 如果:i存在,那么:i之前的任何内容都将作为一个项转到{},如果没有{},那么它将转到{}。在

因为eg->;:i出现在a,b的末尾;所以,a,b将转到冒号}列表,c,d也将转到列表colon_i_list,因为:我也出现在c,d的末尾,e,f,g,h将转到列表{}。在

colon_i_list = ['a,b','c,d']

non_colon_i_list = ['e,f,g,h']

2.)a,b,c,d

不,我在这里。在

^{pr2}$

3.)a,b,c,d,e,f:i

colon_i_list = ['a,b,c,d,e,f']

Tags: 字符串gt内容列表方式listegnon
3条回答

如果我说对了,一个简单的split将大有帮助:

>>> s = 'a,b:i,c,d:i,e,f,g,h'
>>> tokens = s.split(':i')
>>> col, noncol = tokens[:-1], tokens[-1:]
>>> col
['a,b', ',c,d']
>>> noncol
[',e,f,g,h']

在案例3中,未指定的“其他”列表将包含单个空字符串。在

这也许能解决你的问题

z="a,b:i,c,d:i,e,f,g,h"
p=z.count(':i')
x=z.split(":i")
non_colon_i_list=x[p:]
colon_i_list=x[:p]

解决这个问题的一种方法是首先通过拆分“:i”创建一个列表。在

“:i”比“:i”更好,因为这会导致第一个(和其他)示例出现问题,因为您会得到这样的结果:[“a,b”,“,c,d”(!!-逗号提前)

lst = string.split(":i,")

然后:

^{pr2}$

这是因为最后一个元素之前的所有内容都必须被令牌拆分,因此属于col。如果字符串的最后一个元素是“:i”,则只需在字符串中添加一个逗号,这样令牌才能正常工作。在

相关问题 更多 >