【python】 list基本操作

修改、添加、刪除元素

def list_practice():
    #索引從0開始,列表中的元素類型可以不一樣
    a = [0, 1, 2, "are", "you", "ok"]
    print(a)
    print(a[-1])  #訪問倒數第一個元素
    print(a[-2])  #訪問倒數第二個元素

    #元素修改
    a[0] = 5
    print(a)
    #添加元素  .append()    .extend()
    a.append("!")
    print(a)
    b = ["lei", "jun"]
    a.append(b)  #把b當成一個元素,添加  [5, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun']]
    print(a)
    a.extend(b)  #把b中的每一元素添加, [5, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 'jun']
    print(a)

    #插入元素 insert
    #.insert() 在index處添加空間,並將value存儲到這個地方。 這種操作將列表中既有的每個元素都右移一個位置
    a.insert(1, -1)   #.insert(self, index, value)  [5, -1, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 'jun']
    print(a)
    a.insert(-1, 100)  #[5, -1, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 100, 'jun']
    print(a)

    #刪除元素del
    del a[0]
    print(a)  #[-1, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 100, 'jun']
    #.pop()  #彈出列表最後一個元素(或者任意位置)
    c = a.pop()
    print(c)  #jun
    print(a)   #[-1, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 100]
    c = a.pop(0)
    print(c)  #-1
    print(a)  #[1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 100]

    #使用.remove()刪除   (可以根據值刪除)  .remove() 只刪除 第一個 指定的值
    a.remove(['lei', 'jun'])
    print(a)  #[1, 2, 'are', 'you', 'ok', '!', 'lei', 100]

    a = [1, 2, 3]
    b = [4, 5, 6]
    c = []#創建一個空列表
    c.append(a)
    c.append(b)
    print(c)  #[[1, 2, 3], [4, 5, 6]]

if __name__ == "__main__":
    list_practice()

組織列表

.sort()

sorted(list)

len(list)

.reverse

def orgainization():
    cars = ['bmw', 'audi', 'toyota', 'subaru']
    #.sort()排序列表:reverse = False(默認)從小到大, reverse = True從大到小
    #該排序是不可恢復的
    cars.sort()
    print(cars)


    cars = ['bmw', 'audi', 'toyota', 'subaru']
    #sorted()   臨時排序
    c = sorted(cars)
    print(c)
    print(cars)

    #反轉list  .reverse()
    cars.reverse()
    print(cars)

    #求表長度 len()
    print(len(cars))  #  4
    a = [[1, 2, 3], [4, 5, 6]]
    print(len(a))  #  2

操作列表

遍歷列表

切片

列表解析

列表的深複製與淺複製

def orgainization():
    cars = ['bmw', 'audi', 'toyota', 'subaru']
    #.sort()排序列表:reverse = False(默認)從小到大, reverse = True從大到小
    #該排序是不可恢復的
    cars.sort()
    print(cars)

    cars = ['bmw', 'audi', 'toyota', 'subaru']
    #sorted()   臨時排序
    c = sorted(cars)
    print(c)
    print(cars)

    #反轉list  .reverse()
    cars.reverse()
    print(cars)

    #求表長度 len()
    print(len(cars))  #  4
    a = [[1, 2, 3], [4, 5, 6]]
    print(len(a))  #  2

def operate_list():
    #遍歷鏈表
    magicians = ['alice', 'david', 'carolina']
    for magician in magicians:
        print(magician)

    for i in range(len(magicians)):
        print(magicians[i])

    #.range(start, end, step)
    for i in range(1, 5):  #[1, 2, 3, 4]
        print(i)
    #指定range的步長
    number = list(range(2, 10, 2))  #[2, 4, 6, 8]
    print(number)

    print(min(number))
    print(max(number))
    print(sum(number))

    #列表解析
    squares = [value**2 for value in range(1, 11)]
    print(squares) #[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    #二維列表的第二列
    a = [[1, 2, 3], [4, 5, 6]]
    b = [x[1] for x in a]
    print(b)  # 2, 5]
    #轉置a
    b = []
    for i in range(len(a[0])):
        tmp = [x[i] for x in a]
        b.append(tmp)
    print(b)  #  [[1, 4], [2, 5], [3, 6]]

    #切片  (不包含最後一個)
    players = ['charles', 'martina', 'michael', 'florence', 'eli']
    print(players[0:3]) #['charles', 'martina', 'michael']
    print(players[:4])  #沒有指定起始位置,將從第一個開始 ['charles', 'martina', 'michael', 'florence']
    print(players[-3:])  #輸出最後三個 ['michael', 'florence', 'eli']
    print(players[-1: 0: -1])  #['eli', 'florence', 'michael', 'martina']
    print(players[-1: 2: -1])  #['eli', 'florence']

    #二維列表:  需要把每一行看做是一個元素
    a = [[1, 2, 3],
         [4, 5, 6],
         [7, 8, 9]]
    print(a[:2])  #[[1, 2, 3], [4, 5, 6]]


    #深複製與淺複製
    a = [1, 2, 3]
    b = a;  #b和a同時指向同一片內存,b相當於a的別名
    b.append(4)
    print(a)  #[1, 2, 3, 4]
    print(b)  #[1, 2, 3, 4]

    a = [1, 2, 3]
    b = a[:]  #把a的一份拷貝給b
    b.append(4)
    print(a)  #[1, 2, 3]
    print(b)  #[1, 2, 3, 4]

    #元組   不可變的列表
    a = (1, 2, "a", "b")   #使用圓括號定義元組
    print(a)  #(1, 2, 'a', 'b')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章