如何根据列表分组批量替换另一列表值?含空字符串保留规则
问题:按连续重复分组替换列表元素
输入示例
示例1
a = ['AA','AA','AA','AA','BB','BB','BB','BB','CC','CC','CC','CC','CC'] c = ['xyz', 'xyz', 'yy', 'xyz', 'zz', 'zy', 'zy', 'zy', 'll', 'll', 'll', 'lz', 'lz']
示例2
a = ['AA','AA','AA','AA','AA','AA','AA','AA','AA','BB','BB','BB','BB','CC','CC','CC','CC','CC'] c = ['','','','','','xyz', 'xyz', 'yy', 'xyz', 'zz', 'zy', 'zy', 'zy', 'll', 'll', 'll', 'lz', 'lz']
处理需求
列表a中存在AA、BB、CC的连续重复分组,需针对这些分组对应的索引位置修改列表c的值:
- 将列表
c对应分组位置内的所有值,替换为该分组内出现次数最多的元素; - 示例2中需保留空字符串
''不变,其余非空部分遵循上述规则。
预期输出
示例1预期输出
c = ['xyz','xyz','xyz','xyz','zy','zy','zy','zy','ll','ll','ll','ll','ll']
示例2预期输出
c = ['','','','','','xyz', 'xyz', 'xyz', 'xyz', 'zy', 'zy', 'zy', 'zy', 'll', 'll', 'll', 'll', 'll']
内容的提问来源于stack exchange,提问作者edox741
相关产品推荐
相关产品推荐

