文章目錄
前言
序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字即它的位置,或者稱之爲索引,有關索引在我的博客中講過,它可以用切片來操作。
這裏再簡單贅述一下,假設字符長度爲n,從第一位到最後一位的切片是:
第一種方式:0,1,2,3…n-2,n-1
第二種方式:-n,-n+1,…,-2,-1
依次類推。
Python2/3中有6個內置類型,但最常見的是列表和元組。
序列都可以進行的操作包括索引,切片,加,乘,檢查成員。
此外,Python還確定了序列的長度以及確定最大最小值的元素方法。
Python3 列表
列表是最常用的Python數據類型,它可以作爲一個方括號內的分隔值出現。
列表的數據項數據不需要具有相同的類型.
創建列表、空列表
更新列表
合併列表
- append():追加元素
- extend():再原有列表的基礎上追加列表
+
:兩個列表合併成一個新的列表- +=:效果與extend()一樣
*
:重複列表
append()、extend()的結果不會重新生成內存空間,而+、+=、*會
刪除列表元素
可以使用del語句來刪除列表的元素。
remove()函數用於移除列表中的某個的第一個匹配項。
列表截取
Python列表操作的函數和方法
列表操作包含以下函數:
- cmp(list1, list2):比較兩個列表的元素 ;python3中已經移除了這個函數
- len(list):列表元素個數;
- max(list):返回列表元素最大值;
- min(list):返回列表元素最小值;
- list(seq):將元組轉換爲列表。
列表操作包含以下方法:
- list.append(obj):在列表末尾添加新的對象;
- list.count(obj):統計某個元素在列表中出現的次數;
- list.extend(seq):在列表末尾一次性追加另一個序列中的多個值(用新列表 擴展原來的列表);
- list.index(obj):從列表中找出某個值第一個匹配項的索引位置;
- list.insert(index, obj):將對象插入列表;
- list.pop(obj=list[-1]):移除列表中的一個元素(默認最後一個元素),並且返回該元素的值;
- list.remove(obj):移除列表中某個值的第一個匹配項;
- list.reverse():反向列表中元素;
- list.sort([func]):對原列表進行排序。
二維列表的創建與訪問
Python3 字典
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值(key:value)對用冒號(:)分割,每對直接用,
分割,整個字典在{}
中,格式如下所示:
d = {key1 : value1, key2 : value2 }
其鍵必須是唯一的,但值則不必,值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或者元組。
修改字典
可向字典添加新的內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對。
刪除字典以及元素
字典的特性
- 不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住,也就是說後面的會覆蓋前面的
- 鍵必須不可變,所以可以用數字、字符串或者元組充當,而用列表就不行,如下實例:
字典內置函數&方法
Python3字典包含了以下內置函數:
函數 | 描述 |
---|---|
len(dict) | 計算字典元素個數,即鍵的總數 |
str(dict) | 輸出字典,以可打印的字符串表示 |
type(variable) | 返回輸入的變量類型,如果變量是字典就返回字典類性 |
Python3字典包含了以下內置方法
函數名 | 描述 |
---|---|
radiansdict.clear() | 刪除字典內所有元素 |
radiansdict.copy() | 返回一個字典的淺複製 |
radiansdict.fromkeys() | 創建一個新字典,以序列seq中元素做字典的鍵,val爲字典所有鍵對應的初始值 |
radiansdict.get(key, default=None) | 返回指定鍵的值,如果值不在字典中返回default值 |
key in dict | 如果鍵在字典dict裏返回true,否則返回false |
radiansdict.items() | 以列表返回可遍歷的(鍵, 值) 元組數組 |
radiansdict.keys() | 返回一個迭代器,可以使用 list() 來轉換爲列表 |
radiansdict.setdefault(key, default=None) | 和get()類似, 但如果鍵不存在於字典中,將會添加鍵並將值設爲default |
radiansdict.update(dict2) | 把字典dict2的鍵/值對更新到dict裏 |
radiansdict.values() | 返回一個迭代器,可以使用 list() 來轉換爲列表 |
pop(key[,default]) | 刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值。key值必須給出。 否則,返回default值。 |
popitem() | 隨機返回並刪除字典中的最後一對鍵和值。 |
Python3 集合
集合(set)是一個無序的不重複元素序列。
可以使用大括號是{}或者set()函數創建集合,**注意:創建一個空集合必須用set()
而不是{ },因爲{ }是用來創建一個空字典。
parame = {value01,value02,......}
或者
set(value01,value02,...)
基本操作
跟列表一樣,因爲可變的特性,所有它也由推導式——集合推導式(Set comprehension)
添加操作
將元素添加到集合中,如果元素已存在,則不進行任何操作。
還有一個方法式update,這裏面的參數可以是多個,用逗號隔開
集合內置方法完整列表
方法 | 描述 |
---|---|
add() | 爲集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷貝一個集合 |
difference() | 返回多個集合的差集 |
difference_update() | 移除集合中的元素,該元素在指定的集合也存在。 |
discard() | 刪除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 返回集合的交集。 |
isdisjoint() | 判斷兩個集合是否包含相同的元素,如果沒有返回 True,否則返回 False。 |
issubset() | 判斷指定集合是否爲該方法參數集合的子集。 |
issuperset() | 判斷該方法的參數集合是否爲指定集合的子集 |
pop() | 隨機移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回兩個集合中不重複的元素集合。 |
symmetric_difference_update() | 移除當前集合中在另外一個指定集合相同的元素,並將另外一個指定集合中不同的元素插入到當前集合中。 |
union() | 返回兩個集合的並集 |
update() | 給集合添加元素 |