自學整理記錄谭确,大神見笑
列表
- 列表是Python中使用最頻繁的數(shù)據(jù)類型掀潮,類似Java的數(shù)組
- 列表用[]定義,數(shù)據(jù)之間用琼富,分隔
- 列表的索引從0開始
- 索引就是列表中的位置編號仪吧,也叫下標
列表的方法
1.增
1.1 在索引處插入數(shù)據(jù)→insert
- 列表.insert(索引,數(shù)據(jù))
list_one = [1, 2, 3]
print list_one
list_one.insert(1, 9)
print list_one
在列表list_one索引1處插入數(shù)字9
-
輸出如下:
注:如果索引大于原列表長度,則會追加到原列表上鞠眉,如下
list_one = [1, 2, 3]
print list_one
list_one.insert(10, 9)
print list_one
- 輸出如下:
1.2 在末尾追加數(shù)據(jù)→append
- 列表.append(數(shù)據(jù))
list_one = [1, 2, 3]
print list_one
list_one.append(9)
print list_one
- 將9追加到list_one列表末尾
- 輸出如下:
1.3 將列表2的數(shù)據(jù)追加到列表1→extend
- 列表1.extend(列表2)
list_one = [1, 2, 3]
list_two = [1, 8, 9]
print list_one
list_one.extend(list_two)
print list_one
- 將list_two的列表元素追加到list_one中
- 輸出如下:
2.刪
2.1 刪除指定索引的數(shù)據(jù)→del
- del 列表[索引]
list_one = [1, 2, 3]
print list_one
del list_one[1]
print list_one
- 將列表list_one索引1的位置的元素刪除
- 輸出如下:
- 這里要注意的是:del方法里的參數(shù)索引值需要在列表長度范圍內(nèi)薯鼠,否則會報錯,如下
list_one = [1, 2, 3]
print list_one
del list_one[4]
print list_one
- list_one長度為3械蹋,最大索引值2出皇,而函數(shù)del的參數(shù)索引值為4,會報錯
- 輸出如下:
2.2 刪除第一次出現(xiàn)的指定數(shù)據(jù)→remove
- 列表.remove(數(shù)據(jù))
list_one = [1, 2, 3]
print list_one
list_one.remove(2)
print list_one
- 將列表list_one中的元素2刪除
- 輸出如下:
- 這里要注意的是:remove方法的參數(shù)數(shù)據(jù)必須是列表中存在的哗戈,否則會報錯郊艘,如下
list_one = [1, 2, 3]
print list_one
list_one.remove(6)
print list_one
- 輸出如下:
2.3 刪除指定索引的數(shù)據(jù)→pop
- 列表.pop[索引]
list_one = [1, 2, 3]
print list_one
list_one.pop(1)
print list_one
- 將列表list_one中索引為1位置的元素刪除
- 輸出如下:
- 注:如果沒有在pop方法中填入?yún)?shù),則會默認刪除列表最后一位元素唯咬,如下
list_one = [1, 2, 3]
print list_one
list_one.pop()
print list_one
- 刪除列表list_one最后一位元素
- 輸出如下
- 注:如果pop方法中的參數(shù)索引值不能大于列表的長度纱注,否則則會報錯,如下
list_one = [1, 2, 3]
print list_one
list_one.pop(4)
print list_one
- 列表list_one最大長度為3胆胰,最大索引為2狞贱,但pop方法中的參數(shù)為4,刪除索引為4的位置
- 輸出如下
2.4 清空列表→clear
- 列表.clear
list_one = [1, 2, 3]
print(list_one)
list_one.clear()
print(list_one)
- 清空列表list_one中的元素
- 輸出如下:
- 這里要注意的是:clear該方法只能在python3以上使用蜀涨,python2會報錯瞎嬉,輸出如下
3.改
- 列表[索引] = 數(shù)據(jù)
list_one = [1, 2, 3]
print(list_one)
list_one[1] = 7
print(list_one)
- 修改列表list_one索引值為1的元素為7
- 輸出如下:
4.查
4.1 列表[索引]
- 列表[索引]
list_one = [1, 2, 3]
print(list_one)
a = list_one[1]
print(a)
- 查詢列表list_one中索引值為1的元素
- 輸出如下:
- 注:索引值不能大于列表的長度蝎毡,否則會報錯,如下
list_one = [1, 2, 3]
print(list_one)
a = list_one[4]
print(a)
- 輸出如下:
4.2 查找該數(shù)據(jù)第一次出現(xiàn)的索引→index
- 列表.index(數(shù)據(jù), 開始查找的位置, 結(jié)束查找的位置)
list_one = [1, 2, 3, 2, 4, 5, 2, 6]
print(list_one)
a = list_one.index(2)
print(a)
- 查詢列表list_one中第一次出現(xiàn)元素2的位置
- 輸出如下:
- 注:可以在index方法中填入查詢范圍氧枣,在索引a到索引b之間查詢沐兵,如下
list_one = [1, 2, 3, 2, 4, 5, 2, 6]
print(list_one)
a = list_one.index(2, 2, 4)
print(a)
- 在列表list_one中在索引2到索引4之間(左閉右開)查詢元素2的位置
- 輸出如下:
- 注:如果數(shù)據(jù)在列表中查詢不到,則會報錯便监,如下
list_one = [1, 2, 3, 2, 4, 5, 2, 6]
print(list_one)
a = list_one.index(2, 0, 1)
print(a)
- 在列表list_one索引0到1之間(左閉右開)查詢數(shù)據(jù)2的位置
- 輸出如下:
5.統(tǒng)計
5.1 列表長度→len
- len(列表)
list_one = [1, 2, 3, 2, 4, 5, 2, 6]
print(list_one)
a = len(list_one)
print(a)
- 查詢列表list_one的長度
- 輸出如下:
5.2 數(shù)據(jù)在列表中出現(xiàn)的次數(shù)→count
- 列表.count(數(shù)據(jù))
list_one = [1, 2, 3, 2, 4, 5, 2, 6]
print(list_one)
a = list_one.count(2)
print(a)
- 查詢列表list_one中元素2出現(xiàn)的次數(shù)
- 輸出如下:
- 注:如果列表中不存在count查詢的元素扎谎,則返回0,如下
list_one = [1, 2, 3, 2, 4, 5, 2, 6]
print(list_one)
a = list_one.count(7)
print(a)
- 查詢列表list_one中數(shù)據(jù)7出現(xiàn)的次數(shù)
- 輸出如下:
6.排序
6.1 排序→sort
- 列表.sort()
list_one = [1, 2, 3, 2, 4, 5, 2, 6]
print(list_one)
list_one.sort()
print(list_one)
- 將列表list_one正序排序
- 輸出如下:
- 注:當然字母也可以排序茬贵,同時可以混合排序簿透,排序規(guī)則為數(shù)字在前,然后是字母大寫解藻,然后是字母小寫老充,如下
list_one = ["c", "d", "b", "a", "t", "z", "r", "d", "C", 6]
print(list_one)
list_one.sort()
print(list_one)
- 將列表list_one正序排序
- 輸出如下:
- 注:如果需要將列表倒序排序,只需要在sort方法中加一參數(shù)reverse=True即可螟左,如下
list_one = ["c", "d", "b", "a", "t", "z", "r", "d", "C", 6]
print(list_one)
list_one.sort(reverse=True)
print(list_one)
- 將列表list_one倒序排序
- 輸出如下:
6.2 反轉(zhuǎn)→reverse
- 列表.reverse()
list_one = ["c", "d", "B", 6, "a", "T", "z", "r", "d", "C"]
print(list_one)
list_one.reverse()
print(list_one)
- 將列表list_one反轉(zhuǎn)
- 輸入如下:
關鍵字啡浊、函數(shù)和方法
- 關鍵字是Python內(nèi)置,不需要小括號
- 函數(shù)封裝獨立功能胶背,可直接調(diào)用
- 方法封裝獨立功能巷嚣,由對象調(diào)用,表示針對這個對象要做的操作
循環(huán)遍歷
- 使用for實現(xiàn)迭代遍歷
# for 循環(huán)內(nèi)部使用的變量 in 列表
for name in name_list:
?循環(huán)內(nèi)部針對列表元素進行操作
?print(name)
列表應用場景
- 列表可以存放不同類型的數(shù)據(jù)钳吟,但實際應用一般都是存儲相同類型的數(shù)據(jù)
元組
元組定義
- 元組的元素不能修改
- 元組用()定義
- 元組也用廷粒,分隔
- 元組也是從0開始
- 元組是tuple
定義元組
- 空元組
empty_tuple = ()
- 只包含一個元素的元組,在這個元素后加,號红且,否則系統(tǒng)會認為是int類型
single_tuple = (5,)
- 定義正常元組
tuple = ("zhangsan", 18, 1.75)
元組的方法
1.查
1.1 獲取索引位置的數(shù)據(jù)→元組[索引]
- 元組[索引]
tuple_one = (1, 2, 3)
print(tuple_one)
a = tuple_one[0]
print(a)
- 查詢元組tuple_one中索引為0的元素
- 輸出如下:
1.2 查找該數(shù)據(jù)第一次出現(xiàn)的索引→index
- 元組.index(數(shù)據(jù), 開始查找的位置, 結(jié)束查找的位置)
tuple_one = (1, 2, 3)
print(tuple_one)
a = tuple_one.index(2)
print(a)
- 查詢元組中tuple_one出現(xiàn)元素2的第一次位置
- 輸出如下:
2.統(tǒng)計
2.1 獲取該數(shù)據(jù)出現(xiàn)的次數(shù)→count
- 元組.count(數(shù)據(jù))
tuple_one = (1, 2, 3, 2, 3, 2)
print(tuple_one)
a = tuple_one.count(2)
print(a)
查詢元組tuple_one中元素2出現(xiàn)的次數(shù)
-
輸出如下:
注:如果要查詢的元素不在元組中坝茎,則返回0,如下
tuple_one = (1, 2, 3, 2, 3, 2)
print(tuple_one)
a = tuple_one.count(7)
print(a)
- 查詢元組tuple_one中元素7出現(xiàn)的次數(shù)
- 輸出如下:
2.2 獲取元組的長度→len
- len(元組)
tuple_one = (1, 2, 3, 2, 3, 2)
print(tuple_one)
a = len(tuple_one)
print(a)
- 查詢元組tuple_one的長度
- 輸出如下:
循環(huán)遍歷
- 方法同列表暇番,使用for循環(huán)
- 元組循環(huán)遍歷中使用格式化字符串不方便嗤放,因為一般情況元組中的元素數(shù)據(jù)類型不一樣
元組應用場景
- 用于函數(shù)的參數(shù)和返回值
- 讓列表不可修改,安全
- 格式字符串壁酬,%后面的()就是一個數(shù)組
列表和元組相互轉(zhuǎn)換
- 列表轉(zhuǎn)元組
tuple(列表)
- 元組轉(zhuǎn)列表
list(元組)
字典
字典定義
- 字典也可以存儲多個數(shù)據(jù)
- 字典用{}定義
- 字典無序次酌,列表有序
- 字典也使用,分隔
- 字典使用鍵值對存儲數(shù)據(jù)
1.鍵key是索引
2.值value是數(shù)據(jù)
3.鍵和值之間用:分隔
4.鍵必須唯一
5.值可以是任意數(shù)據(jù)類型舆乔,但鍵只能使用字符串岳服、數(shù)字或元組 - 格式如下:
xiaoming = {"name": "小明", "age": 18, "gender": True, "height": 1.75}
- 注意:書寫格式最好一行只有一個鍵值對
- 注:因為字典無序,所以控制臺輸出可能和定義的順序不一致
字典方法
1.增
- 字典[key] = value
dict_one = {"name": "zhangsan", "age": 18, "sex": True}
print(dict_one)
dict_one["phone"] = 666
print(dict_one)
- 在字典dict_one中增加一個鍵值對phone=666
- 輸出如下:
2.刪
- 字典.pop(key)
dict_one = {"name": "zhangsan", "age": 18, "sex": True}
print(dict_one)
dict_one.pop("sex")
print(dict_one)
- 刪除字典dict_one中鍵位sex的鍵值對
- 輸出如下:
- 注:pop方法要刪除的鍵值必須存在蜕煌,否則報錯派阱,如下
dict_one = {"name": "zhangsan", "age": 18, "sex": True}
print(dict_one)
dict_one.pop("phone")
print(dict_one)
- 刪除字典dict_one中鍵為phone的鍵值對
- 輸出如下:
3.改
- 字典[key] = value
dict_one = {"name": "zhangsan", "age": 18, "sex": True}
print(dict_one)
dict_one["sex"] = False
print(dict_one)
- 修改字典dict_one中的sex鍵的值為False
- 輸出如下:
4.查
- 字典[key]
dict_one = {"name": "zhangsan", "age": 18, "sex": True}
print(dict_one)
a = dict_one["name"]
print(a)
- 查詢字典dict_one中name鍵對應的值
- 輸出如下:
5.統(tǒng)計
- len(字典)
dict_one = {"name": "zhangsan", "age": 18, "sex": True}
print(dict_one)
a = len(dict_one)
print(a)
- 查詢字典dict_one的長度
- 輸出如下:
6.合并
- 字典1.update(字典2)
dict_one = {"name": "zhangsan", "age": 18, "sex": True}
dict_two = {"name": "lisi", "phone": 77, "email": "114.com"}
print(dict_one)
print(dict_two)
dict_one.update(dict_two)
print(dict_one)
print(dict_two)
- 將字典2 dict_two的數(shù)據(jù)追加到字典1 dict_one中,如果數(shù)據(jù)的鍵值重復斜纪,則取字典2 dict_two中的值
- 輸出如下:
7.清空
- 字典.clear
dict_one = {"name": "zhangsan", "age": 18, "sex": True}
print(dict_one)
dict_one.clear()
print(dict_one)
- 將字典dict_one清空數(shù)據(jù)
- 輸出如下:
字典循環(huán)遍歷
- 因字典的value數(shù)據(jù)類型不確定贫母,所以實際開發(fā),遍歷字典需求較少
- 格式如下:
# for 新定義循環(huán)內(nèi)部使用的key的變量 in 字典
for k in xiaoming:
?print("%s: %s" % (k, xiaoming[k]))
字典和列表應用場景
- 實際開發(fā)更多的應用場景是
1.使用多個鍵值對盒刚,存儲描述一個物體的相關信息
2.然后將多個這種字典放在一個列表中腺劣,再進行遍歷,每個循環(huán)體內(nèi)針對每一個字典進行相同的處理