數字:int, long(python3.5已經沒有), float, complex, boolpython
字符:str, unicodeapp
列表:listide
字典:dict函數
元組:tuple學習
集合:set(可變集合),frozenset(不可變集合)spa
文件:filecode
python的數字字面量:整數,布爾型,浮點數,複數,全部數字類型均爲不可變orm
數字操做:+ , -, *, /, //, **, %, -x, +x對象
列表是一系列按照特定順序排列的元素組成能夠是字母、數字等;排序
在python中,列表用方括號[ ],來表示列表。做爲一個方括號內的逗號分隔值出現。列表的數據項不須要具備相同的類型。
列表操做包含如下函數:
1、cmp(list1, list2):比較兩個列表的元素
2、len(list):列表元素個數
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):將元組轉換爲列表
列表操做包含如下方法:
1、list.append(obj):在列表末尾添加新的對象
2、list.count(obj):統計某個元素在列表中出現的次數
3、list.extend(seq):在列表末尾一次性追加另外一個序列中的多個值(用新列表擴展原來的列表)
4、list.index(obj):從列表中找出某個值第一個匹配項的索引位置
5、list.insert(index, obj):將對象插入列表
6、list.pop(obj=list[-1]):移除列表中的一個元素(默認最後一個元素),而且返回該元素的值
7、list.remove(obj):移除列表中某個值的第一個匹配項
8、list.reverse():反向列表中元素
9、list.sort([func]):對原列表進行排序
10、list.append(): 在列表末尾添加一個元素
列表的訪問能夠是標準輸出,也能夠是經過索引或切片使用列表中元素的值;
與字符串的索引同樣,列表索引從0開始,若是是反序,最後一個元素是 「-1」,倒數第二個元素的列下標識 「-2」。
列表能夠進行截取、組合等。
使用下標索引來訪問列表中的值,一樣你也可使用方括號的形式截取字符。
#!/usr/bin/python # -*- coding: UTF-8 -*- china = ["Chinese","yellowskin",960,16,"北京"] #輸出列表 print(china) #輸出特定值,如第二個元素,即索引爲1的; print(china[1]) #輸出最後兩個元素 print(china[-2:]) #輸出前三個元素 print(china[:2]) #輸出最後兩個元素外的全部元素 print(china[:-2]) #輸出第二到第五的元素; print(china[1:4]) #列表輸出能夠結合字符處理方法 print(china[1].title()) print(china[1].upper()) #循環訪問列表的元素: for i in china: print(i)
三、修改、添加、刪除列表元素
因爲列表大多數狀況下是動態的,那麼他的元素、長度等都是不斷變化的;
修改元素經過列下標直接賦值;
添加元素能夠經過append()方法在末尾添加,能夠經過insert()方法在特定位置添加;
刪除元素能夠經過pop()方法和del語句刪除,固然你也能夠經過del 刪除整個列表;
#!/usr/bin/python # -*- coding: UTF-8 -*- china = ["Chinese","yellowskin",960,16,"北京"] #將列表第二個元素修改成「blackeyes」 china[1] = "black eyes" print(china) #在列表末尾添加元素; china.append("Changjian") print(china) #在第三個前插入一個元素: china.insert(2,'Shanghai') print(china) #列表中刪除元素,del語句: del china[-2] print(china) #pop()方法刪除任意元素: china.pop(2) print(china) #根據值刪除元素 china.remove(960) print(china)
輸出結果:
['Chinese', 'black eyes', 960, 16, '北京']
['Chinese', 'black eyes', 960, 16, '北京','Changjian']
['Chinese', 'black eyes', 'Shanghai', 960,16, '北京', 'Changjian']
['Chinese', 'black eyes', 'Shanghai', 960,16, 'Changjian']
['Chinese', 'black eyes', 960, 16,'Changjian']
['Chinese', 'black eyes', 16, 'Changjian']
四、對列表進行排序
對列表進行排序的方法有
sort() 對列表進行永久排序;
sorted() 對列表進行臨時排序
reverse() 倒着打印列表,永久排序,恢復時能夠再次調用reverse()
len() 取出列表的長度;
#!/usr/bin/python # -*-coding: UTF-8 -*- counts =[1,3,5,7,9,2,4,6,8,10] counts1= [] for i incounts: counts1.append(i) print(counts1) print(counts) counts.sort() print(counts) print(sorted(counts1)) print(counts1) counts1.reverse() print(counts1) print(len(counts))
5.1、for循環遍歷列表和複製列表
counts =[1,3,5,7,9,2,4,6,8,10] counts1= [] for i incounts: counts1.append(i) print(counts1) print(counts)
5.2、建立數值列表
counts2 = [ j**3 for j in range(1,10)] print(counts2) type(counts2[2])
使用range建立數字列表
counts3 = list(range(1,21,2))
print(counts3)
type(counts3[2])
5.3、列表的簡單統計
counter = list(range(1,21,2))
min(counter)
max(counter)
sum(counter)
元組看起來猶如列表,但使用圓括號()來標識。定義元組後,就可使用索引來訪問其元素;
元組的遍歷和列表同樣可使用for循環等;
元組是不能修改其元素的,但能夠給存儲元組的變量賦值;
括號()既能夠表示元組,又能夠表示數學公式中的小括號。因此,若是元組只有1個元素,就必須加一個逗號,防止被看成括號運算;
元組與列表的區別,元組它的關鍵是不可變性。
若是在程序中以列表的形式傳遞一個對象的集合,它可能在任何地方改變;若是使用元組的話,則不能。
元組提供了一種完整的約束。
字典是另外一種可變容器模型,且可存儲任意類型對象。
字典的每一個鍵值(key=>value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式以下所示:
d = {key1 : value1, key2 : value2 }
鍵必須是惟一的,但值則沒必要。
值能夠取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。
要獲取字典中的值,可依次指定字典名和放在方括號內的鍵;如print(dict[‘key]’)
要添加鍵-值對,可依次指定字典名、用方括號括起來的鍵和對應的值;
使用字典存儲大量數據或者編寫能自動生成大量鍵-值得代碼時,一般須要先定義一個空字典,如:dict = {}
要修改字典中的值,可依次指定字典名、用方括號括起來的鍵以及與該鍵相關的新值;
要刪除鍵-值對,可以使用del語句鍵對應的鍵-值對完全刪除。使用del語句必須指定字典名和要刪除的鍵;
示例:
#coding:UTF-8 import string #定義一個空字典dict1 dict1 = {} #利用for循環給dict1賦值 i = 1 for word in string.ascii_lowercase: if i < 14: dict1[i] = word else: dict1[word] = i i += 1 print(dict1) #訪問字典中的值 print(dict1[13]) print(dict1['o']) #添加鍵-值對 dict1[27] = "error" print(dict1[27]) #修改字典中的值 dict1[27] = "out of range" print(dict1[27]) #刪除鍵值對 print(dict1['z']) del dict1['z'] print(dict1)
在遍歷字典前,先學習一下字典內置的函數和方法,在遍歷時,結合函數和方法遍歷輸出;
python字典的函數。
方法 |
解釋 |
len(dict) |
計算字典元素個數,即鍵的總數。 |
str(dict) |
輸出字典以可打印的字符串表示。 |
type(variable) |
返回輸入的變量類型,若是變量是字典就返回字典類型。 |
dict.clear() |
刪除字典內全部元素 |
dict.copy() |
返回一個字典的淺複製 |
dict.fromkeys(seq [,value]) |
建立一個新字典,序列seq中元素做爲字典的鍵,value(可選)做爲字典全部鍵對應的初始值。--seq爲一個列表; |
dict.get(key[, default=None]) |
返回指定鍵的值,若是值不在字典中返回default值(默認爲none) |
key in dict |
若是鍵在字典dict裏返回true,不然返回false。key -- 在字典中要查找的鍵 |
dict.items() |
以列表返回可遍歷的(鍵, 值列表。 |
dict.keys() |
以列表返回字典中的全部值。 |
dict.setdefault(key, default=None) |
與get()相似, 但若是鍵不存在於字典中,將會添加鍵並將鍵值設爲default。 |
dict.update(dict1) |
把字典dict1的鍵/值對更新到dict裏。無返回值。 |
pop(key[,default]) |
刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值。key值必須給出。不然,返回default值 |
popitem() |
隨機返回並刪除字典中的一對鍵和值。 |
#coding:UTF-8 import string #定義一個空字典dict1 dict1 = {} #利用for循環給dict1賦值 i = 1 for word in string.ascii_lowercase: if i < 14: dict1[str(i)] = word elif i > 14: dict1[word] = str(i) i += 1 print(dict1) #遍歷全部的鍵-值對 for key,value in dict1.items(): print(key) print(value) print(dict1['1'].upper()) #遍歷字典中全部的鍵 for key in dict1.keys(): print(key) #按照順序遍歷字典中全部的鍵,能夠用sorded()來實現 for key in sorted(dict1.keys()): print(key.upper() + "大爺的") #遍歷字典中多有的值,並使用set()方法去重; dict1['27'] = 'a' print(dict1['27']) for value in set(dict1.values()): print(value) print(dict1) #字典的淺複製 dict2 =dict1.copy() print(dict2) #更新字典 dict3 = {} dict3.update(dict1) print(dict3) #刪除字典內全部的元素 dict1.clear() print(dict1)
字典除了單獨使用外,常常會涉及到嵌套使用;列表、字典、元組等能夠相互嵌套使用;
使用的方法和對應的列表、字典、元組的使用方法相似,很少作說明;