《数据结构》-python实现-数据的插入与删除

数据插入

#数据插入:在list中的第i个位置插入元素e

def Insert(list, i, e):
    if i>len(list)-1:
        return False
    list.append([])
    for k in range(len(list)-1,i-1,-1):  #注意顺序,应该从大到小,依次-1
        list[k]=list[k-1]
    list[i-1]=e
    print list
    
a=[1,2,4,5,6,7]
Insert(a,3,3)

# 或者如下所示
'''
def Insert(a, i, e):
    b=[]
    b.extend(a[:i-1])
    b.extend([e])
    b.extend(a[i-1:])
    print b
a=[1,2,4,5,6,7]
Insert(a,3,3)
'''
#结果:
[1, 2, 3, 4, 5, 6, 7]

从后向前,依次把前一个位置的元素赋值给当前位置。 python列表,索引不允许超界,所以插入前需要添加一个空元素append.([])

数据删除

#数据删除:删除list中的第i个位置的元素,并赋值给e返回该元素
def delete(list, i):
    if i>len(list)-1:
        return False
    e=list[i-1]
    for k in range(i,len(list)):
        list[k-1]=list[k]
    list.pop() #删除最后一个元素
    print list,e
    
a=[1,2,6,3,4,5]
delete(a,3)

#结果
[1, 2, 3, 4, 5] 6

从前向后,把后一个位置的元素依次赋值给当前位置,记得删除掉最后一个元素
list.pop(): 删除末尾的元素
del list[i]:删除对应下标的元素
list.remove( element ): 删除指定值的元素

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值