Python 3.x 如何使用单词列表中的任意单词拆分字符串
如何使用单词列表中的任意单词拆分字符串 我有一个字符串列表Python 3.x 如何使用单词列表中的任意单词拆分字符串,python-3.x,Python 3.x,如何使用单词列表中的任意单词拆分字符串 我有一个字符串列表 l=['IV',IX',XL',XC',CD',CM'] 我需要根据以下列表拆分例如“XCVI” 'XC-V-I'这里有一个解决方案,但我不确定这是否是最好的方法: def split(s, l): tokens = [] i = 0 while i < len(s): if s[i:i+2] in l: tokens.append(s[i:i+2])
l=['IV',IX',XL',XC',CD',CM']
我需要根据以下列表拆分例如“XCVI”
'XC-V-I'
这里有一个解决方案,但我不确定这是否是最好的方法:
def split(s, l):
tokens = []
i = 0
while i < len(s):
if s[i:i+2] in l:
tokens.append(s[i:i+2])
i += 2
else:
tokens.append(s[i])
i += 1
return '-'.join(tokens)
为什么
V
和I
被解析为单独的字符?你不想根据两个相邻的字符进行分割吗?列表中的组合XC
,但没有VI
l = ['IV', 'IX', 'XL', 'XC', 'CD', 'CM']
>>> split('XCVI', l)
XC-V-I
>>> split('IXC', l)
IX-C
>>> split('IXXC', l)
IX-XC