在列表中插入整数python

插入位置 描述 对一个有序的整数序列,现在要将一个整数插入进去,并保证该序列仍然有序。请输出这个数要插入的位置‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 第一行输入若干个整数,以空格间隔,本题保证用例中输入的数值顺序一定是从小到大,原始列表中无重复数据‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 第二行输入一个整数n‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 将整数序列放入列表ls‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 如果ls中已经存在n,则不插入该数,输出 'Fail'以及ls列表‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 若ls中可以插入n,输出插入位置,以及插入后的ls列表

可用列表索引和insert方法解。

ls=list(map(int,input('输入一个整数序列,空格隔开:').split()))
ls=sorted(set(ls))
n=int(input('输入一个整数:'))
if n in ls:
    print('Fail')
    print(ls)
else:
    for i in range(len(ls)):
        if ls[i]<n<ls[i+1]:
            ind=i+1
            ls.insert(ind,n)            
        elif n>ls[-1]:
            ind = len(ls)
            ls.insert(ind,n)            
        elif n<ls[0]:
            ind = 0
            ls.insert(ind, n)            
    print(f'数据插入位置为索引{ind}')            
    print(f'数据插入后列表{ls}')

 

 

ls = [1,3,5,7,9,11,13]
n = 8
if n in ls:
    print('Failure',ls)
else:
    if n<ls[0]:
        print('插入位置:', str(0))
        print([n]+ls)
    elif n>ls[len(ls)-1]:
        print('插入位置:', str(len(ls)))
        print(ls+[n])
    else:
        for i in range(len(ls)):
            if ls[i+1]>n>ls[i]:
                print('插入位置:',str(i+1))
                ls = ls[:i+1]+[n]+ls[i+1:]
                print(ls)
                break

或者下面这样也可以:

ls = [1,3,5,7,9,11,13]
n = 8
if n in ls:
    print('Failure',ls)
else:
    ls.append(n)
    ls = sorted(ls)
    print('插入位置:', ls.index(n))
    print(ls)

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632