列表自定义索引实现:NEUTRAL元素设为-1其余元素按顺序编号
自定义列表索引功能实现方案
实现思路
- 初始化一个计数器,初始值为0,用来记录非
NEUTRAL元素的出现顺序 - 遍历目标列表的每一个元素:
- 如果当前元素值为
NEUTRAL,直接往结果列表添加-1 - 如果当前元素为非
NEUTRAL值,将当前计数器值添加到结果列表,之后将计数器加1
- 如果当前元素值为
- 遍历完成后返回结果列表即可
代码实现(Python为例)
def generate_custom_index(input_list): count = 0 result = [] for item in input_list: if item == 'NEUTRAL': result.append(-1) else: result.append(count) count += 1 return result
测试验证
用给出的两个示例列表测试:
List1 = ['ENG', 'ENG', 'NEUTRAL' , 'TSO', 'ENG', 'TSO' ] List2 = ['NEUTRAL', 'NEUTRAL', 'ENG', 'ENG', 'NEUTRAL' , 'TSO', 'ENG', 'TSO', 'NEUTRAL'] print(generate_custom_index(List1)) print(generate_custom_index(List2))
运行输出结果:
[0, 1, -1, 2, 3, 4] [-1, -1, 0, 1, -1, 2, 3, 4, -1]
与预期结果完全匹配。
内容的提问来源于stack exchange,提问作者Ntiyiso
相关产品推荐
相关产品推荐

