Python筆記——基本資料結構:列表、元組及字典
一、列表
一組有序專案的集合。可變的資料型別【可進行增刪改查】
列表是以方括號“[]”包圍的資料集合,不同成員以“,”分隔。
列表中可以包含任何資料型別,也可包含另一個列表
列表可通過序號訪問其中成員
常用列表操作:
list.append()追加成員,成員資料
list.pop()刪除成員,刪除第i個成員
list.count(x)計算列表中引數x出現的次數
list.remove()刪除列表中的成員,直接刪除成員i
list.extend(L)向列表中追加另一個列表L
list.reverse()將列表中成員的順序顛倒
list.index(x)獲得引數x在列表中的位置
list.sort()將列表中的成員排序
list.insert()向列表中插入資料insert(a,b)向列表中插入資料
可通過
>>>help(list) 檢視方法詳情
[python] view plaincopyprint?- print("-------list operations------")
- #列表操作
- l = [1,2,3,4,5]
- l2 = [7,8,9]
- print(l)
- #獲得列表長度
- length = len(l)
- print(length)
- #追加一個元素,在列表最後一位
- l.append(6)
- print(l)
- #向列表中追加另一個列表
- l.extend(l2)
- print(l)
- #插入一個元素,在位置a
- l.insert(0,0)
- print(l)
- #將列表順序顛倒
- l.reverse()
- print(l)
- #排序,從小到大
- l.sort()
- print(l)
- #統計某個元素出現的次數
- c = l.count(0)
- print(c)
- #查詢某個引數在列表中的位置,未命中則拋異常
- i = l.index(1)
- print(i)
- #刪除某個位置的成員
- l.pop(0)
- print(l)
- l.append(1)
- #直接刪除某個值的成員,若有多個,刪除第一個
- l.remove(1)
- print(l)
結果:
列表補充:2011-4-17
- #列表操作補充--切片操作
- example = [0,1,2,3,4,5,6,7,8,9]
- #列印某一區間 左閉右開
- print(example[4:8])
- #想包含最後一個
- print(example[4:])
- #包含首個
- print(example[:8])
- #所有的
- print(example[:])
- #第三個引數為步長
- print(example[1:8:2])
- #倒序輸出
- print(example[::-1])
- #列表合併
- a = [1,2,3]
- b = [4,5,6]
- print(a+b)
- #替換
- ex = [1,2,3,4,5,6]
- ex[4:]=[9,8,7]
- print(ex)#將56換為987
- #插入
- ex[1:1] = [0,0,0]
- print(ex)
- #刪除
- del ex[0:2]
- print(ex)
- #或者
- ex[6:]=[]
- print(ex)
- #比較
- one = [1,2,3]
- two = [1,2,3]
- print(one == two)#true
- print(one is two)#false
- #列表操作補充——字串也是列表
- str = "abcdefg"
- print(str[0])
- #將一個字串轉為字元陣列
- print(list(str))
- #字串
- s = "abcdefg"
- #判斷是否包含
- print('a' in s)
- #函式和模組
- import math
- #將一個變數指向一個函式
- se = math.sqrt
- print(se(81))
結果:
二、元組
不可變序列
元組是以圓括號“()”包圍的資料集合,不同成員以“,”分隔
與列表不同:元組中資料一旦確立就不能改變
通過下標進行訪問
宣告:
L=(1,2,3)
含0個元素的元組: L = ()
含1個元素的元組:L=(1,) 注意有逗號
[python] view plaincopyprint?- #元組操作
- #宣告
- o =('a','b','c',('d1','d2'))
- o1 = ()
- o2 = (1,)
- #訪問
- print(o[0])
- print(o[3][0])
- #用於列印語句
- age = 22
- name = 'tom'
- print("%s is %d years old"%(name,age))
三、字典
鍵值對的集合(map)
字典是以大括號“{}”包圍的資料集合
與列表區別:字典是無序的,在字典中通過鍵來訪問成員。
字典是可變的,可以包含任何其他型別
宣告:
M={k1:v1,k2:v2}
訪問 M[k1]將得到v1
常用字典操作:
dic.clear()清空字典
dic.keys()獲得鍵的列表
dic.values()獲得值的列表
dic.copy()複製字典
dic.pop(k)刪除鍵k
dic.get(k)獲得鍵k的值
dic.update()更新成員,若成員不存在,相當於加入
dic.items()獲得由鍵和值組成的列表
dic.popitem
可以通過
>>>help(dict) 檢視詳情
[python] view plaincopyprint?- #字典操作
- m = {'a':1,'b':2,'c':3}
- print(m)
- #讀取某一個_通過key
- print(m['a'])
- #讀取某一個,通過get方法
- print(m.get('b'))
- #複製字典
- m2 = m.copy()
- print(m2)
- #獲取所有鍵的列表
- print( m.keys() )
- #獲取所有值的列表
- print( m.values() )
- #獲取所有鍵值對元組組成的列表
- print( m.items() )
- #更新成員,當對應鍵值不存在時,相當於加入
- m.update({'d':4})
- print(m)
- #刪除某個成員
- m.pop('a')
- print(m)