|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 llsl 于 2020-6-15 20:07 编辑
事先给好一些字符串的列表,然后把一个字符串分成列表中的字符串,并且顺序和s是相同的
比如一个字符串s和给定列表l
- l = ['A', 'B', 'C', 'D', 'id', 'num', 'func']
- s = 'ABCCidnum'
复制代码
把s分成
- ['A', 'B', 'C', 'C', 'id', 'num']
复制代码
请问下该如何操作
看了两位的回答后,突然想到一种比较笨的方法:
- s = 'ABCCidnum'
- l = ['A', 'B', 'C', 'D', 'id', 'num', 'func']
- result = []
- max_len = max([len(i) for i in l])
- while True:
- if s == '':
- break
- for i in range(1, max_len + 1):
- if s[:i] in l:
- result.append(s[:i])
- s = s[i:]
复制代码
唉 我太笨了想半天才想了个这样的方法...看看行不行的?
- l = ['A', 'B', 'C', 'D', 'id', 'num', 'func']
- s ='ABCCidnum'
- result = []
- record = []
- for i in l:
- if i in s:
- count = s.index(i)
- record.append((count,len(i)))
- while True:
- count = s.find(i,count+1,)
- if count != -1:
- record.append((count,len(i)))
- else:
- break
- for i in record:
- result.append(s[i[0]:i[0]+i[1]])
- print(result)
复制代码
|
|