蓝桥杯算法提高VIP-数组替换PYTHON数据结构算法题

文章讲述了在Python中如何合并两个列表的子列表,并处理因列表长度不足导致的错误。关键在于检查合并后的长度是否小于原列表a的长度,如果小于,则用原列表a的剩余部分进行填充。
摘要由CSDN通过智能技术生成

题目描述

 解题思路

1.第一步永远是接收输入。

2.题上说把b的前m1添加到a的前n1上直接用[:m1]与[:n1]然后再用extend连接

3.这个题留了个非常恶心的坑,很难发现如果想拿100分还是得非常仔细才行。题上说明了a具有至少存放m+n个空间,意思是a的长度至少是大于等于m+n的。如果你m+n的长度小于a的长度再添加到a上,a是留有空位的这样会报错。所以需要把补全,补全我理解的是直接用a的除了m+n的空间补全。下面附上代码:

代码

    m, m = map(int, input().strip().split())
    l1 = list(map(int, input().split()))
    l2 = list(map(int, input().split()))
    m1, n1 = map(int, input().split())
    s1 = l1[:m1]
    s2 = l2[:n1]
    s1.extend(s2)
    if m1 + n1 < m:  # 此处为保留的关键,若不写,报18%错误
        s3 = l1[m1 + n1:]
        s1.extend(s3)
    print(",".join([str(i) for i in s1]))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值