record
1.列表(list)
容器型數(shù)據(jù)類型(序列)澜术,可變、有序
2.元素
任何類型的數(shù)據(jù)都可以作為列表元素
3.元素的增刪改查(*)
3.1.查
查單個元素:列表[下標]
查部分元素[切片]:列表[開始下標:結(jié)束下標:步長]山林,列表[:],列表[::-1]
遍歷:直接遍歷你虹、遍歷下標
3.2.增
列表.append(元素)暗赶、列表.insert(下標,元素)
3.3.刪
del 列表[下標]
列表.remove(元素)
列表.pop() 列表.pop(下標)
3.4.改
列表[下標] = 新值
4.+荐类,*怖现,==,!=玉罐,in/not in真竖,len(),list()
5.列表常用方法
5.1.count
列表.count(元素) - 統(tǒng)計列表中指定元素的個數(shù)厌小,返回一個整數(shù)
5.2.extend
列表.extend(序列) - 將序列中的元素全部添加到列表中
nums = [1, 2, 3, 4, 5]
nums.extend('abc')
print(nums)
nums.extend([1,2,3])
print(nums)
5.3.index
列表.index(元素) - 獲取指定元素對應的下標(如果元素有多個,只取第一個)
注意:如果元素不存在會報錯战秋!
5.4.reverse
列表.reverse() - 反向列表(直接修改原列表)
reversed(序列) - 反向序列(不修改原序列璧亚,產(chǎn)生新的序列對應的迭代器)
str1 = 'hello'
new_str = reversed(str1)
print(str1, ''.jion(list(new_str)))
字符串.join(序列)
5.5.sort
列表.sort() - 將列表中的元素升序排序(從小到大)
列表.sort(reverse = True) - 將列表中的元素降序排序(從大到小)
sorted(序列) - 排序的時候不修改原序列,產(chǎn)生新的序列
注意:能夠進行排序的列表要求列表中的元素類型一致癣蟋,并且支持比較運算
# sort
nums = [100,60,34,101]
nums.sort(reverse = True)
print(nums)
# sorted
nums = [100,60,34,101]
new_nums = sorted(nums)
print(nums) # [100,60,34,101]
print(new_nums) # [34,60,100,101]
new_nums = sorted(nums, reverse = True)
print(new_nums) # [101,100,60,34]
str2 = 'helloworld'
new_str = sorted(str2)
print(new_str)
print(''.join(new_str))
5.6.clear
列表.clear() - 刪除列表中所有的元素(清空列表)
nums = [100,60,34,101]
print(id(nums))
nums.clear()
print(nums,id(nums))
nums = []
print(nums,id(nums))
5.7.copy
列表.copy() - 相當于列表[:]透硝,將列表中的元素拷貝一份產(chǎn)生一個新的列表(淺拷貝)
tuple(元祖)
1.什么是元祖(tuple)
元祖是python提供的容器型數(shù)據(jù)類型(序列),不可變疯搅,有序
元祖就是不可變的列表濒生,一般保存一些不讓修改的數(shù)據(jù)
(元素1,元素2幔欧,元素3……)
2.元素
2.1.空的元祖
沒什么意義
2.2.元素個數(shù)是1的元祖:如果一個元祖中只有一個元素罪治,這個元素后面必須加逗號!
tuple2 = (10,) # (10,)
2.3.元祖數(shù)據(jù)中的()可以省略(多個數(shù)據(jù)用逗號隔開礁蔗,也表示元祖)
tuple2 = 1, 2, 3, 4, 5
print(tuple2,type(tuple2)) # (1, 2, 3, 4, 5) <class 'tuple'>
3.獲取元素:和列表一樣
3.1.讓變量的個數(shù)和元祖中元素的個數(shù)保持一致觉义,來一一獲取元祖中每個元素的值
point = (100, 50)
x, y = point
print('x:', x, 'y:', y) # x: 100 y: 50
3.2.讓多個變量同事獲取元祖中的元素的時候,可以在一個變量前加*將這個變量變成一個列表浴井,來獲取不帶*的變量獲取后剩下的數(shù)據(jù)晒骇。
注意:帶*的變量只能有一個
student = ('小明', 18, 99, 88, 77, 66)
name, age, *scores = student
print(name, age, scores)
"""
小明 18 [99, 88, 77, 66]
"""
dict(字典)
1.什么是字典(dict)
字典是python提供的容器型數(shù)據(jù)類型(序列),可變磺浙,無序
{鍵值對1洪囤, 鍵值對2, 鍵值對3撕氧, ……} - 字典的元素就是鍵值對
鍵值對 - 以'鍵:值'的形式成對出現(xiàn)
鍵(key) - 要求不可變瘤缩,唯一(建議使用字符串作為key,用來對值進行說明和區(qū)分的)
值(value) - 任何類型的數(shù)據(jù)都可以作為值
2.元素的操作
2.1.查 - 獲取值
字典[key] - 獲取字典中key對應的值(value)(如果key不存在會報錯:遣堋)
字典.get(key) - 獲取字典中key對應的value(如果key不存在不報錯款咖,結(jié)果是None)
字典.get(key, 默認值) - 獲取字典中key對應的value(如果key不存在不報錯,結(jié)果是默認值)
2.1.1.遍歷字典
直接通過for循環(huán)遍歷字典的時候奄喂,獲取到的是所有的key
1.直接遍歷(只用這個)
2.間接遍歷
values()铐殃、items()
2.2.增/改
字典[key] = value - 如果key存在,修改key對應的值跨新;如果key不存在富腊,添加鍵值對
2.3.刪
1.del 字典[key] - 刪除字典中指定key對應的鍵值對。如果key不存在會報錯
2.字典.pop(key) - 取出字典中key對應的值域帐。如果key不存在會報錯
2.4.字典相關(guān)操作
2.4.1.運算符:不支持數(shù)學運算赘被,比較運算符只支持比較相等、不支持比較大小
2.4.2.in / not in
key in 字典 - 判斷字典中是否存在指定的key
2.4.3.len
一個鍵值對算一個長度
2.4.4.dict
能轉(zhuǎn)換成字典的數(shù)據(jù)要求:數(shù)據(jù)本身是序列肖揣,序列中的每個元素也是長度是2的序列民假,并且小序列中的第一個元素是不可變的
2.5.相關(guān)方法
1.clear
字典.clear() - 清空字典
2.copy
字典.copy() - 拷貝字典中的鍵值對產(chǎn)生一個新的字典
3.fromkeys
dict.fromkeys(序列, 值) - 創(chuàng)建一個新的字典龙优,字典的key是序列的元素羊异,key對應的value是值
4.keys, values, items
字典.key() - 獲取字典中所有的key,結(jié)果一個序列
字典.values() - 獲取字典中所有的value,結(jié)果是一個序列
字典.items() - 獲取字典中的key和value野舶,key和value以元祖的形式返回
5.setdefault
字典.setdefault(key,value) - 添加鍵值對(不能修改)
6.update
字典1.update(字典2) - 使用字典2中的鍵值對取更新字典
set(集合)
1.什么是集合(set)
容器型數(shù)據(jù)類型(序列)易迹,可變、無序
2.集合中的元素
{元素1平道, 元素2睹欲, 元素3, ……}
元素:不可變一屋、唯一(自帶去重功能)
注意:{}不能表示空的集合窘疮,set() - 空集合
集合可以去重
str1 = 'hedkahendgaksngessssded'
print(''.join(set(str1)))
list1 = [1,23,4,34,32,23,1]
print(list(set(list1)))
3.元素相關(guān)操作
3.1.查
集合不能單獨獲取制定的某一個元素,只支持遍歷
3.2.增
集合.add() - 往集合中添加一個元素
集合.update(序列) - 將序列中的元素添加到集合中(自帶去重)
3.3.刪
集合.remove(元素) - 刪除集合中指定的元素
注意:元素不存在會報錯
3.4.數(shù)學集合運算(*)
3.4.1.并集:|
集合1|集合2 - 將兩個集合中的元素合并產(chǎn)生新的集合
set1 = {1,2,3,4,5,6}
set2 = {4,5,6,7,8,9}
print(set1|set2)
3.4.2.交集:&
集合1&集合2 - 求兩個集合公共的部分
set1 = {1,2,3,4,5,6}
set2 = {4,5,6,7,8,9}
print(set1&set2)
3.4.3.差集:-
集合1-集合2 - 獲取集合1中除了集合2以外的部分
set1 = {1,2,3,4,5,6}
set2 = {4,5,6,7,8,9}
print(set1-set2)
print(set2-set1)
3.4.4.補集: ^
集合1^集合2 - 兩個集合中除了公共部分以外的部分
set1 = {1,2,3,4,5,6}
set2 = {4,5,6,7,8,9}
print(set1^set2)
3.4.5.包含關(guān)系
集合1>=集合2 - 集合1中是否包含集合2
集合1<=集合2 - 集合2中是否包含集合1