将字符串分成2个列表python

时间:2018-09-12 09:51:09

标签: python string python-2.7 list

分割字符串

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

因此,以下是拆分的工作方式:

  • 如果存在:i,则:i之前的任何内容都将作为项目进入colon_i_list,如果不存在:i,则它将进入{{1 }}。

例如-> non_colon_i_list位于:i的末尾;因此,a,b将进入Colon_i_list,a,b也将进入列表c,d,因为:i也出现在c,d的末尾,而colon_i_list将进入列表e,f,g,h

non_colon_i_list

2。)colon_i_list = ['a,b','c,d'] non_colon_i_list = ['e,f,g,h']

不:我在这里。

a,b,c,d

3。)non_colon_i_list = ['a,b,c,d']

a,b,c,d,e,f:i

7 个答案:

答案 0 :(得分:3)

如果我答对了,那么简单的files(person_id, type)将会大有帮助:

split

在情况3中,未指定的“其他”列表将包含一个空字符串。

答案 1 :(得分:1)

这可能会解决您的问题,

dataset.selectDataByLabel(label=="2")

答案 2 :(得分:1)

解决此问题的一种方法是,首先通过分割“:i,”来创建列表。

“:i,”比“:i”更可取,因为这将导致第一个(和其他)示例出现问题,因为您将得到如下内容:[“ a,b”,“,c,d”( !!-提前逗号)

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

然后:

col = lst[:-1]
non_col = lst[-1]

之所以起作用,是因为最后一个元素之前的所有内容都必须已被标记分割,因此属于col。您唯一需要注意的一点是,如果字符串的最后一个元素为“:i”,则在字符串中添加一个逗号,以便令牌正常工作。

答案 3 :(得分:0)

a = 'a,b:i,c,d:i,e,f,g,h'
colon_i_list, non_colon_i_list = a.rsplit(':i,',1)
colon_i_list = colon_i_list.split(':i,')

答案 4 :(得分:0)

\ getter -> getter :: OddGetter s a -> Getter s a

我认为我的答案是前两个答案中最差的...

答案 5 :(得分:0)

首先检查字符串中是否包含':i':如果没有:i,则可以,所有字符串都应位于non_colon_i_list中。但是,如果您的字符串中有一个':i',那么如果答案的长度为1,则将其用':i'分开,所有该字符串应位于您的Colon_i列表中,否则除最后一项外的所有项目都位于Colon_i列表,而最后一个应该在non_colon_i_list中。参见下面的代码:

OrderHistory(FKOrderKey)

答案 6 :(得分:0)

下面的代码在情况3中删除了空字符串,并且还删除了原始字符串中"-i"之后的第一个逗号。

str_list=['a,b:i,c,d:i,e,f,g,h','a,b,c,d',"a,b,c,d,e,f:i",""]
for str_item in str_list:
    tokens=str_item.split(":i")
    colon_i_list=[x.lstrip(',') for x in tokens[:-1]]
    non_colon_i_list=[x.lstrip(',') for x in tokens[-1:] if x!=""]
    str_item,colon_i_list,non_colon_i_list

输出:

 ('a,b:i,c,d:i,e,f,g,h', ['a,b', 'c,d'], ['e,f,g,h']) ('a,b,c,d', [], ['a,b,c,d']) ('a,b,c,d,e,f:i', ['a,b,c,d,e,f'], []) ('', [], [])