1. 程式人生 > >《資料結構》-python實現-資料的插入與刪除

《資料結構》-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 ): 刪除指定值的元素