1. 程式人生 > >Python學習(5)--列表

Python學習(5)--列表

1.列表

     列表和上一節所說的元組一樣,都可以盛放不同資料型別的元素.定義列表與定義元組的不同,只是列表將元素用方括號括起來.下面將會比較元組與列表的不同之處,來學習列表。

先看程式碼:

list=['zhangsan',12,'man']
print(list[0])
print(list[1])
print(list[2])

程式碼執行結果如下:

通過程式碼可以看出我們定義了一個列表list,通過索引下標我們不僅可以獲取列表list中的

每一個元素,還可以修改列表元素,但是元組不能修改元組元素.看下以下程式碼:

list=['zhangsan',12,'man']
print(list)
list[0]='lisi'
print(list)

以下是執行結果:


可以看出列表list修改了的第一個元素list[0].而元組是不能修改元素的,如下程式碼:

t=('zhangsan',12,'man')
t[0]='lisi'

程式碼結果如下:


通過執行結果可以看到在python中,元組並不支援元素的修改.如果想修改元組中元素,只能在記憶體中重新開闢出一塊空間,並修改變數在記憶體中指向的地址,讓變數指向新的儲存空間.程式碼如下:

t=('zhangsan',12,'man')
print(t)
print(id(t))
t=('lisi',12,'man')
print(t)
print(id(t))

以下是程式碼執行結果:


通過程式碼可以看出列表t的第一個元素'zhangsan'修改成了'lisi',但是通過列印id可以發現,元組t指向的儲存空間已經改變,python重新開闢出一塊記憶體空間來儲存('lisi',12,'man').

而列表的元素修改則是在原來的儲存空間上修改,並不會像元組那樣重新開闢出一塊記憶體

來儲存列表.程式碼如下:

list=['zhangsan',12,'man']
print(list)
print(id(list))#列印list修改之前的id
list[0]='lisi'
print(list)
print(id(list))#列印list修改之後的id

列印結果如下:


可以看出雖然修改了元組list的第一個元素,但是list指向的記憶體空間的地址並沒有改變.也就是說對列表元素的修改是在原有記憶體空間的基礎上修改的,並沒有像元組那樣重新開闢出新的記憶體來儲存新的內容,這也啟發我們如果處理大量需要修改的資料,使用列表比較好,否則可以使用元組.

下面介紹下有關列表插入刪除的操作,先看程式碼如下:

list=['zhangsan',12,'man']
print(list);
list.append("1587335928");
print(list);
list.remove(list[3]);
print(list);
以下是程式碼執行結果:


在列表後面新增元素使用的是append(Object)方法,刪除元素使用的是remove(Object)方法,這個方法會刪除列表中第一個與Object匹配的元素,程式碼如下:

list=['zhangsan',12,'man']
print(list)
list.append("1587335928");
list.append("1587335928");
print(list)
list.remove("1587335928");
print(list)
列印結果如下:



可以看到列表只是刪除了第一個與被刪元素匹配的元素,並沒有刪除所有的元素。

下一節我們將會介紹python中很重要也非常常用的字典,上一節的排版不是很好,在手機上的顯示效果有一部分文字溢位了螢幕,通過拖拽可以看到,敬請見諒。