python 中資料型別--列表、元組的理解(一)
資料型別--列表、元組
一、列表 list 數值 score=80 字串 name1="tom" name2="jerry" name3="kate" 當需要儲存多個元素的時候,提取不方便就需要使用列表來執行,減少時間。 python中列表定義:可變的有序表,可以儲存多個元素的資料型別。
1.列表的建立 語法:列表名=[元素1,元素2....] 定義一個 names=["tom","jerry","kate",1,2,[4,5]] 執行print(names)
就會列印 ['tom', 'jerry', 'kate', 1, 2, [4, 5]]
看一下names是什麼型別的
執行print(names,type(names))
就會列印['tom', 'jerry', 'kate', 1, 2, [4, 5]] <class 'list'>
後面<class 'list'>表示所屬與列表
列表的特點:
(1) 列表中的元素可以是多種資料型別
在計算機裡可以放多個元素的東西叫做容器,而列表就是這樣。
(2) 列表是有序的、可重複
序列:字串、位元組、列表、元組-----有序資料型別
(3) 列表中的元素可以被修改-----列表是可變資料型別
列表的記憶體結構 基礎的資料型別:數值、布林、字串、位元組 (前面他們相同的東西會存在同一個記憶體地址上)
計算機記憶體中列表是有列表物件的。不同的列表物件是不同的。
names=["tom","jerry","kate",1,2,[4,5]]
names2=["tom","jerry","kate",1,2,[4,5]]
print(id(names),id(names2))
42845576 42846280 ID是不相同的
print(id(names[0]),id(names2[0]))
39682432 39682432 ID相同print(id(names[3]),id(names2[3]))
1426088160 1426088160 ID相同 print(id(names[5]),id(names2[5]))
39677640 39700616 ID不同print(id(names[5][0]),id(names2[5][0]))
1426088256 1426088256 ID相同
定義空列表
nulllist=[] print(nulllist,type(nulllist))
打印出 [] <class 'list'> 說明也是一個列表
names=["tom","jerry","kate",1,2,[4,5]] print(len(names),len(nulllist))
打印出 6 0 表示names有6 個元素,而nulllist有0個元素 列表型別的布林轉換
在數值型別,字串型別轉換布林型別時得到0為Fasle假,其他為True真 所以說至少有一個元素 為True,沒有元素為Fasle
nulllist=[] print(bool(nulllist))
得到Fasle,所以是空列表
而有元素的names=["tom","jerry","kate",1,2,[4,5]] print(bool(names))
得到True
在應用時判斷用if names:
列表中的元素是可重複 li=[1,2,3,1] print(li,len(li))
打印出[1, 2, 3, 1] 4 長度為4,顯示2個1 表示列表中元素是可以重複的 2.列表的操作 (1)運算子 支援的有 + * in not in is is not == < > = 和字串相同 + 合併,將兩個列表的元素合在一起,形成新的列表。新建立列表物件進行合併 a=[1,2] b=[3,4] print(a+b) [[1,2],[3,4]] 不是這樣 是 [1,2,3,4]這樣 * 重複 將列表中的元素進行重複,形成新的列表 print(a*3) [[1,2],[1,2],[1,2]] 不是這樣 是 [1,2,1,2,1,2]這樣 print(a*2+b*3) [1, 2, 1, 2, 3, 4, 3, 4, 3, 4] 這樣
in not in: 判斷元素是否在列表物件當中 a=[1,2,3,4,"a"] print(1 in a) 會返回True x="abc"
print(a in x) 得不出答案報錯 print("a" in x) 注意:列表中的元素可以是多種型別,字串中的元素就是單個字串
is is not 判斷物件是否是同一個 a=[1,2,3] b=[1,2,3] c=a print(a is b) 顯示False 記憶體物件不同 print(a is c) 顯示True 因為c指向的記憶體物件相同
< > 將列表中的元素逐個比較 根據ascii碼比較 print([1,2,3]<[4]) True
會用前面第一個元素和後面的相比較