Python中如何补全两个列表使其长度一致?
如何给较短的Python列表补0至与较长列表长度一致
直接通过以下步骤实现需求:
- 计算两个列表的最大长度
- 给较短的列表末尾补充足够数量的0,使其长度与最大长度匹配
基础实现代码
# 假设a和b是服务器返回的列表 a = [3, 6, 4, 5] b = [8, 3, 5, 2, 9, 3] # 获取两个列表的最长长度 max_len = max(len(a), len(b)) # 给短列表补0 a += [0] * (max_len - len(a)) b += [0] * (max_len - len(b)) # 输出结果 print(f"a = {a}") print(f"b = {b}")
代码逻辑说明
max(len(a), len(b))快速得到两个列表中的最长长度[0] * n生成包含n个0的列表,当列表已经是最长时,max_len - len(列表)结果为0,此时生成的是空列表,不会对原列表产生修改- 如果需要保留原始列表,可生成新列表而非修改原列表:
max_len = max(len(a), len(b)) a_padded = a + [0] * (max_len - len(a)) b_padded = b + [0] * (max_len - len(b))
测试a比b长的场景
a = [8, 10, 1, 34] b = [4, 6, 8] max_len = max(len(a), len(b)) a += [0] * (max_len - len(a)) # a长度保持不变 b += [0] * (max_len - len(b)) # b补1个0,变为[4,6,8,0] print(f"a = {a}") print(f"b = {b}")
内容的提问来源于stack exchange,提问作者S Andrew
相关产品推荐
相关产品推荐

