Python如何按指定长度拆分列表为无重复元素的嵌套列表?
正确实现方式
核心逻辑是维护一个动态更新的切片起始下标,避免每次都从列表头部截取:
amount = [2, 2, 3] my_list = ['name_zero', 'name_one', 'score_three', 'score_nine', 'age_zero', 'age_ten', 'age_six'] output = [] start_idx = 0 for cnt in amount: output.append(my_list[start_idx:start_idx+cnt]) start_idx += cnt print(output)
运行后输出结果为:
[['name_zero', 'name_one'], ['score_three', 'score_nine'], ['age_zero', 'age_ten', 'age_six']]
补充说明
如果需要避免amount总和和my_list长度不匹配导致的异常,可以提前加校验逻辑:
if sum(amount) != len(my_list): print("分配数量总和与列表长度不匹配") else: # 执行上述拆分逻辑 pass
内容的提问来源于stack exchange,提问作者Boo
相关产品推荐
相关产品推荐

