如何将位字符串中1的索引从0起始调整为1起始?
将位字符串中1的索引改为从1起始的解决方案
当然可以,只需要在提取到的0起始索引值基础上加1即可,以下是具体实现示例:
假设原代码示例(0起始):
bit_string = "0110101" # 提取0起始的1的索引 zero_based_indices = [idx for idx, bit in enumerate(bit_string) if bit == '1'] print(zero_based_indices) # 输出: [1, 2, 4, 6]
修改后的代码(1起始):
bit_string = "0110101" # 每个索引值加1,转为1起始 one_based_indices = [idx + 1 for idx, bit in enumerate(bit_string) if bit == '1'] print(one_based_indices) # 输出: [2, 3, 5, 7]
核心逻辑说明:
- 用
enumerate()遍历位字符串时,默认返回的索引是0起始的,给筛选出的每个索引值加1,就能直接得到1起始的索引结果。 - 如果你的代码是其他语言(比如Java、C++),逻辑完全一致:在获取到的索引值基础上执行
+1操作即可。
内容的提问来源于stack exchange,提问作者user13373167
相关产品推荐
相关产品推荐

