1.容器類數據結構
1.1 列表List ---- 內部存着的是地址,指針
1.2 元組Tuple
1.3 字典Dict
1.4 集合Set
1.5 list,tuple,dict,set區別
1 .list
list是一個使用方括號括起來的有序元素集合;
List 可以作爲以 0 下標開始的數組,任何一個非空 list 的第一個元素總是 L[0],負數索引從 list 的尾部開始向前計數來存取元素。任何一個非空的 list 最後一個元素總是 L[-1];
有分片功能,兩個list可以相加;
append 向 list 的末尾追加單個元素;
insert 將單個元素插入到 list 中;
extend 用來連接 list,使用一個 list 參數進行調用;
append 接受一個參數, 這個參數可以是任何數據類型, 並且簡單地追加到 list 的尾部;
index 在 list 中查找一個值的首次出現並返回索引值;
要測試一個值是否在 list 內, 使用 in, 如果值存在, 它返回 True, 否則返爲 False ;
remove 從 list 中刪除一個值的首次出現;
pop 可以刪除 list 的最後一個元素, 然後返回刪除元素的值,用索引刪除制定位置的值;
2.tuple
tuple是不可變的list,創建了一個tuple就不能以任何方式改變它;
定義tuple是將整個元素集是用小括號括起來,是有序集合;
tuple的索引與list一樣從0開始,所以一個非空的tuple的第一個元素總是t[0];
負數索引與 list 一樣從 tuple 的尾部開始計數;
與 list 一樣分片 (slice) 也可以使用。分割一個 tuple 時, 會得到一個新的 tuple;
沒有 append、extend、remove或pop方法以及index方法;
可以使用in來查看一個元素是否存在於tuple 中。
3.dict
dict定義了鍵和值之間的一一對應關係,每個元素都是一個key-value對;
整個元素集合用大括號括起來,有序集合;
可以通過 key 得到value, 但不能通過vaule獲取 key;
在一個 dict中不能有重複的 key, 並且 key 是大小寫敏感的;
鍵可以是數字、字符串或者是元組等不可變類型;
用del使用key可以刪除dict中的獨立元素;
用clear可以清除dict中的所有元素。
4.set
set是建立一系列無序的,不重複的元素;
創建set的方式是調用set()並傳入一個list,list的元素將作爲set的元素;
set和dict的唯一區別僅在於沒有存儲對應的value。
1.6 數據類型轉換
函數 | 描述 |
---|---|
int(x [,base]) |
將x轉換爲一個整數 |
float(x) |
將x轉換到一個浮點數 |
complex(real [,imag]) |
創建一個複數 |
str(x) |
將對象 x 轉換爲字符串 |
repr(x) |
將對象 x 轉換爲表達式字符串 |
eval(str) |
用來計算在字符串中的有效Python表達式,並返回一個對象 |
tuple(s) |
將序列 s 轉換爲一個元組 |
list(s) |
將序列 s 轉換爲一個列表 |
set(s) |
轉換爲可變集合 |
dict(d) |
創建一個字典。d 必須是一個序列 (key,value)元組。 |
frozenset(s) |
轉換爲不可變集合 |
chr(x) |
將一個整數轉換爲一個字符 |
unichr(x) |
將一個整數轉換爲Unicode字符 |
ord(x) |
將一個字符轉換爲它的整數值 |
hex(x) |
將一個整數轉換爲一個十六進制字符串 |
oct(x) |
將一個整數轉換爲一個八進制字符串 |
1.7常用方法
2、sorted()函數
2.1 sort()與sorted()函數
方法1.用List的成員函數sort進行排序
方法2.用built-in函數sorted進行排序
>>> help(sorted)
Help on built-in function sorted in module __builtin__:
sorted(...)
sorted(iterable,key=None, reverse=False) --> new sorted list
---------------------------------sort----------------------------------------
>>> help(list.sort)
Help on method_descriptor:
sort(...)
L.sort( key=None, reverse=False) -- stable sort *IN PLACE*;
-----------------------------------------------------------------------------
key:接收一個函數,且函數只接受一個元素,有默認值,迭代集合中的一項;
reverse:排序規則. reverse = True 或者 reverse = False,有默認值。
返回值:是一個經過排序的可迭代類型,與iterable一樣。
注;一般來說,key可以使用lambda表達式。
sort()與sorted()的不同在於,sort是在原位重新排列列表,而sorted()是產生一個新的列表。
2.2 sorted()函數
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave','B', 10)]
sorted(students,key=lambda s: x[2]) #按照年齡來排序
結果:[('dave','B', 10), ('jane', 'B', 12), ('john', 'A', 15)]