Python常用的組合資料型別彙總
python的組合資料型別及其內建方法說明
python中,資料結構是透過某種方式(例如對元素進行編號),組織在一起資料結構的集合。
python常用的組合資料型別有:序列型別,集合型別和對映型別。
(1)在序列型別中,又可以分為列表和元組,字串也屬於序列型別;
(2)在集合型別中,主要有集合型別;
(3)在對映型別中,主要有字典型別,字典是可變序列。
python中一切皆物件,組合資料型別也是物件,因此python的組合資料型別可以巢狀使用,列表中可以巢狀元組和字典,元組中也可以巢狀和字典,當然字典中也可以巢狀元組和列表,例如:['hello','world',[1,2,3]]。
元組,列表以及字串等資料型別是"有大小的",也即其長度可使用內建函式len()測量。
python物件可以具有其可以被呼叫的特定“方法(函式)”。
列表的常用內建方法
在python中,列表使用[]建立,例如['hello','world','linux','python']。
列表是可變序列,其主要表現為:列表中的元素可以根據需要擴充套件和移除,而列表的記憶體對映地址不改變。
列表屬於序列型別,可以在python直譯器中使用dir(list)檢視列表的內建方法。
append
#在列表的末尾新增元素 L.append(object) -- append object to end
>>> l1=["hello","world"] >>> l2=[1,2,3,4] >>> l1.append("linux") >>> print(l1) ['hello', 'world', 'linux'] >>> l2.append(5) >>> print(l2) [1, 2, 3, 4, 5]
clear
#清除列表中的所有元素 L.clear() -> None -- remove all items from L
>>> l1=["hello","world"] >>> l2=[1,2,3,4] >>> l1.clear() >>> print(l1) [] >>> l2.clear() >>> print(l2) []
copy
#淺複製 L.copy() -> list -- a shallow copy of L
>>> l1=["hello","world","linux"] >>> id(l1) 140300326525832 >>> l2=l1.copy() >>> id(l2) 140300326526024 >>> print(l1) ['hello', 'world', 'linux'] >>> print(l2) ['hello', 'world', 'linux']
count
#返回某個元素在列表中出現的次數 L.count(value) -> integer -- return number of occurrences of value
>>> l1=[1,2,3,4,2,3,4,1,2] >>> l1.count(1) 2 >>> l1.count(2) 3 >>> l1.count(4) 2
extend
#把另一個列表擴充套件進本列表中 L.extend(iterable) -- extend list by appending elements from the iterable
>>> l1=["hello","world"] >>> l2=["linux","python"] >>> l1.extend(l2) >>> print(l1) ['hello', 'world', 'linux', 'python']
index
#返回一個元素第一次出現在列表中的索引值,如果元素不存在報錯 L.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present.
>>> l1=[1,2,3,4,2,3,4,1,2] >>> l1.index(1) 0 >>> l1.index(2) 1 >>> l1.index(4) 3 >>> l1.index(5) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 5 is not in list
相關推薦:《》
insert
#在這個索引之前插入一個元素 L.insert(index, object) -- insert object before index
>>> l1=['hello', 'world', 'linux', 'python'] >>> l1.insert(1,"first") >>> print(l1) ['hello', 'first', 'world', 'linux', 'python'] >>> l1.insert(1,"second") >>> print(l1) ['hello', 'second', 'first', 'world', 'linux', 'python']
pop
#移除並返回一個索引上的元素,如果是一個空列表或者索引的值超出列表的長度則報錯 L.pop([index]) -> item -- remove and return item at index (default last).Raises IndexError if list is empty or index is out of range.
>>> l1=['hello', 'world', 'linux', 'python'] >>> l1.pop() 'python' >>> l1.pop(1) 'world' >>> l1.pop(3) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop index out of range
remove
#移除第一次出現的元素,如果元素不存在則報錯 L.remove(value) -- remove first occurrence of value. Raises ValueError if the value is not present.
>>> l1=['hello', 'world', 'linux', 'python'] >>> l1.remove("hello") >>> print(l1) ['world', 'linux', 'python'] >>> l1.remove("linux") >>> print(l1) ['world', 'python'] >>> l1.remove("php") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list
reverse
#原地反轉列表 L.reverse() -- reverse *IN PLACE*
>>> l1=['hello', 'world', 'linux', 'python'] >>> id(l1) 140300326525832 >>> l1.reverse()#### >>> print(l1) ['python', 'linux', 'world', 'hello'] >>> id(l1) 140300326525832
sort
#對列表進行原地排序 L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
>>> l1=[1,3,5,7,2,4,6,8] >>> id(l1) 140300326526024 >>> l1.sort() >>> print(l1) [1, 2, 3, 4, 5, 6, 7, 8] >>> id(l1) 140300326526024
元組的常用內建方法
元組則使用()建立,例如('hello','world'),元組是不可變序列,其主要表現為元組的元素不可以修改,但是元組的元素的元素可以被修改。
元組屬於序列型別,可以在python直譯器中使用dir(tuple)檢視元組的內建方法。
count
#返回某個元素在元組中出現的次數 T.count(value) -> integer -- return number of occurrences of value
>>> t1=("hello","world",1,2,3,"linux",1,2,3) >>> t1.count(1) 2 >>> t1.count(3) 2 >>> t1.count("hello") 1
index
#返回元素在元組中出現的第一個索引的值,元素不存在則報錯 T.index(value, [start, [stop]]) -> integer -- return first index of value.Raises ValueError if the value is not present.
>>> t1=("hello","world",1,2,3,"linux") >>> t1=("hello","world",1,2,3,"linux",1,2,3) >>> t1.count("hello") 1 >>> t1.index("linux") 5 >>> t1.index(3) 4
字典的常用內建方法
字典屬於對映型別,可以在python直譯器中使用dir(dict)檢視字典的內建方法
clear
#清除字典中所有的元素 D.clear() -> None. Remove all items from D.
>>> dic1={"k1":11,"k2":22,"k3":"hello","k4":"world"} >>> print(dic1) {'k3': 'hello', 'k4': 'world', 'k2': 22, 'k1': 11} >>> dic1.clear() >>> print(dic1) {}
copy
#淺複製 D.copy() -> a shallow copy of D
>>> dic1={"k1":11,"k2":22,"k3":"hello","k4":"world"} >>> id(dic1) 140300455000584 >>> dic2=dic1.copy() >>> id(dic2)#### 140300455000648 >>> print(dic2) {'k2': 22, 'k4': 'world', 'k3': 'hello', 'k1': 11}
fromkeys(iterable, value=None, /)
#返回一個以迭代器中的每一個元素做健,值為None的字典 Returns a new dict with keys from iterable and values equal to value.
>>> dic1={"k1":11,"k2":"hello"} >>> dic1.fromkeys([22,33,44,55]) {33: None, 44: None, 22: None, 55: None} >>> print(dic1) {'k2': 'hello', 'k1': 11}
get
#查詢某個元素是否在字典中,即使不存在也不會報錯 D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.
>>> dic1={'k3': None, 'k2': 'hello', 'k1': 11, 'k4': 'world'} >>> dic1.get("k3") >>> value1=dic1.get("k1") >>> print(value1) 11 >>> value2=dic1.get("k2") >>> print(value2) hello >>> value3=dic1.get("k5") >>> print(value3) None
items
#返回一個由每個鍵及對應的值構成的元組組成的列表 D.items() -> a set-like object providing a view on D's items
>>> dic1={"k1":11,"k2":22,"k3":"hello","k4":"world"} >>> dic1.items() dict_items([('k3', 'hello'), ('k4', 'world'), ('k2', 22), ('k1', 11)]) >>> type(dic1.items()) <class 'dict_items'>
keys
#返回一個由字典所有的鍵構成的列表 D.keys() -> a set-like object providing a view on D's keys
>>> dic1={"k1":11,"k2":22,"k3":"hello","k4":"world"} >>> dic1.keys() ['k3', 'k2', 'k1', 'k4']
pop
#從字典中移除指定的鍵,返回這個鍵對應的值,如果鍵不存在則報錯 D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised
>>> dic1={"k1":11,"k2":22} >>> dic1.pop("k1") 11 >>> dic1.pop("k2") 22
popitem
#從字典中移除一個鍵值對,並返回一個由所移除的鍵和值構成的元組,字典為空時,會報錯 D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty.
>>> dic1={"k1":11,"k2":22} >>> dic1.popitem() ('k2', 22) >>> dic1.popitem() ('k1', 11) >>> dic1.popitem() Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'popitem(): dictionary is empty'
setdefault
#引數只有一個時,字典會增加一個鍵值對,鍵為這個引數,值預設為None;後接兩個引數時,第一個引數為字典新增的鍵,第二個引數為新增的鍵對應的值 D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D>>> dic1={"k1":11,"k2":"hello"}
>>> dic1.setdefault("k3") >>> print(dic1) {'k3': None, 'k2': 'hello', 'k1': 11} >>> dic1.setdefault("k4","world") 'world' >>> print(dic1) {'k3': None, 'k2': 'hello', 'k1': 11, 'k4': 'world'}
update
#把一個字典引數合併入另一個字典,當兩個字典的鍵有重複時,引數字典的鍵值會覆蓋原始字典的鍵值 D.update([E, ]**F) -> None. Update D from dict/iterable E and F. If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
>>> dic1={"k1":11,"k2":"hello"} >>> dic2={"k3":22,"k4":"world"} >>> dic1.update(dic2) >>> print(dic1) {'k3': 22, 'k2': 'hello', 'k1': 11, 'k4': 'world'} >>> dic1={"k1":11,"k2":"hello"} >>> dic2={"k1":22,"k4":"world"} >>> dic1.update(dic2) >>> print(dic1) {'k2': 'hello', 'k1': 22, 'k4': 'world'}
values
#返回一個由字典的所有的值構成的列表 D.values() -> an object providing a view on D's values
>>> dic1={"k1":11,"k2":22,"k3":"hello","k4":"world"} >>> dic1.values() ['hello', 22, 11, 'world']
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1817/viewspace-2837283/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Python】組合資料型別Python資料型別
- python組合資料型別(集合)Python資料型別
- 什麼是組合資料型別?Python組合資料型別分為幾類?資料型別Python
- Python常用的資料型別Python資料型別
- 組合資料型別資料型別
- 全網最適合入門的物件導向程式設計教程:34 Python的內建資料型別-Python常用複合資料型別:元組和命名元組物件程式設計Python資料型別
- Redis基本資料型別命令彙總Redis資料型別
- Python的資料型別總結Python資料型別
- Python基礎(九) 常用模組彙總Python
- Python程式設計常用的資料型別Python程式設計資料型別
- python資料型別 列表+元組Python資料型別
- Python資料型別(元組tuple)Python資料型別
- 學習python的資料型別——元組Python資料型別
- 【Python學習教程】常用的Python資料視覺化庫彙總!Python視覺化
- 全網最適合入門的物件導向程式設計教程:42 Python常用複合資料型別-collections容器資料型別物件程式設計Python資料型別
- Python基本資料型別之元組Python資料型別
- 三、python的資料型別 列表、元組、字典Python資料型別
- mysql 常用的資料型別MySql資料型別
- SQLServer的常用資料型別SQLServer資料型別
- Java常見知識點彙總(①)——資料型別Java資料型別
- 資料庫常用的sql語句彙總資料庫SQL
- 1.1.3 python基本資料型別之元組Python資料型別
- Python - 基礎資料型別 tuple 元組Python資料型別
- 2.1 常用資料型別資料型別
- 4.91Python資料型別之(6)元組Python資料型別
- MySQL基礎之----資料型別篇(常用資料型別)MySql資料型別
- Python3學習(基本資料型別-集合-字典-基本資料型別總結)Python資料型別
- day 7 – 1 集合、copy及基礎資料型別彙總資料型別
- 4款常用的Python GUI庫彙總!PythonGUI
- Python資料型別Python資料型別
- python的資料型別(集合)Python資料型別
- Python的基本資料型別Python資料型別
- 全網最適合入門的物件導向程式設計教程:40 Python常用複合資料型別-列舉和enum模組的使用物件程式設計Python資料型別
- 資料型別是什麼?Python的資料型別又有哪些?資料型別Python
- Go 的資料型別總結Go資料型別
- Python基礎:資料型別-列表與元組(6)Python資料型別
- 全網最適合入門的物件導向程式設計教程:39 Python常用複合資料型別-集合物件程式設計Python資料型別
- Python之資料型別Python資料型別