Python中怎么用插入 insert 填补一个不完整的列表?

比如input是([12,15,19])output是([12,13,14,15,16,17,18,19])具体题目在这:(全英文题)... 比如input 是([12,15,19])
output是([12,13,14,15,16,17,18,19])
具体题目在这:(全英文题 )
展开
 我来答
吐哔喃啵腕
2019-08-28 · TA获得超过234个赞
知道小有建树答主
回答量:170
采纳率:86%
帮助的人:63.1万
展开全部

a是已排序的list,无需再次排序,所以不用.sort()排序

代码:

def complete(alist):

    while len(alist)!=alist[-1]-alist[0]+1:

        for i in range(len(alist)):

            if alist[i+1]-alist[i]>1:

                alist.insert(i+1,alist[i]+1)

                i+=1

    return alist




if __name__ == '__main__':


    a = [12, 15, 19]

    print(complete(a))

测试:

大数据小库
2019-08-27 · TA获得超过7230个赞
知道大有可为答主
回答量:5477
采纳率:84%
帮助的人:600万
展开全部
这个题如果你是需要return一个新列表就不用那么繁琐,直接list(range())填一下数字就好了。
如果是要在原来列表k1上修改,那你首先得生成一个完整列表k2,然后两个列表从0下标开始比较,把完整的列表k2中比当前k1小的数字插入到当前数字下标的地方,谁的数字小就下标就往后走,总之很麻烦
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hy1397471
2019-08-27 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部

1

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式