【发布时间】:2019-09-03 18:11:34
【问题描述】:
我有一个包含两个键的字典,它们的值是字符串列表。
我想根据另一个列表中的指标计算一个列表的字符串长度。
这个问题很难用文字来表达,所以让我们看一个例子。
这是一个示例字典:
thisdict ={
'brand': ['Ford','bmw','toyota','benz','audi','subaru','ferrari','volvo','saab'],
'type': ['O','B','O','B','I','I','O','B','B']
}
现在,我想根据“type-sequence”的条件向字典中添加一个与“brand-string-sequence”的字符串累积长度相对应的项目。
这是标准:
如果 type = 'O',则为该索引设置字符串长度 = 0。
如果type = 'B',设置字符串长度为对应的字符串长度。
如果 type = 'I',那就是事情变得复杂的时候。您可能希望回顾序列并总结字符串长度,直到到达第一个“B”。
这是一个示例输出:
thisdict ={
"brand": ['Ford','bmw','toyota','benz','audi','subaru','ferrari','volvo','saab'],
'type': ['O','B','O','B','I','I','O','B','B'],
'cumulative-length':[0,3,0,4,8,14,0,5,4]
}
其中 8=len(benz)+len(audi) 和 14=len(benz)+len(audi)+len(subaru)
请注意,在我正在处理的实际数据中,序列可以是一个“B”,后跟任意数量的“I”。 IE。 ['B','I','I','I','I','I','I',...,'O'] 所以我正在寻找一种在这种情况下稳健的解决方案情况。 谢谢
【问题讨论】:
标签: python-3.x