小結(jié)
增评疗,刪测砂,改,查
列表:
1修改列表元素
通過下標(biāo)獲取元素壤巷,然后重新賦值:列表名[下標(biāo)] = 新的值
(下標(biāo)不能越界)
2邑彪,列表的其他操作
1.len(列表):獲取列表長度(元素個數(shù))
2列表1+列表2:讓列表1和列表2的元素組合在一起產(chǎn)生一個新的列表
3.列表*數(shù)字:讓列表中的元素重復(fù)N次,產(chǎn)生一個新的列表
4.in和not in 操作
元素in表示:判斷指定的元素是否在指定的列表中
3.獲取一個列表中的最大元素和最小元素
max(列表)
min(列表)
4.其他方法
1胧华,count:獲取指定元素在列表中出現(xiàn)的次數(shù)
格式:列表.count(元素)
a = 列表. count(元素)
2.extend:將序列中的每一個元素添加到列表中
格式:列表.extend(序列)
3.index:獲取指定元素在列表中的索引(如果元素有多個取第一個)
格式:列表.index(元素)
4.reverse反向列表中的值(直接操作原列表寄症,不會產(chǎn)生新的列表)
格式:列表.reverse()
5.sort:(對列表進(jìn)行排序(默認(rèn)是從小到大排序—升序))
格式:列表.sort() 升序
列表.sort(reverse=True) 降序
6.clear():清空列表中的元素
格式:列表.clear()
重點7.copy():將列表中的元素全部拷貝一份創(chuàng)建一個新的列表
格式:列表.copy()
或者用 new_names = names[:]
注意:通過一個列表變量給另一個列表變量賦值的時候,賦的是地址:兩個列表對元素進(jìn)行操作的時候會互相影響
想要避免這個問題就使用copy或者切片
元組
1.什么是元組
元組就是不可變的列表矩动,列表中除了可變的操作以外有巧,其他的操作都適用于元組
元組值:a.使用()將元素包含起來,多個元素之間用逗號隔開悲没,比如(1篮迎,2,'abc')
2.改示姿、增甜橱、刪相關(guān)操作不能用于元組,查栈戳,可以
1岂傲,查(和列表的查沒有任何區(qū)別)
2,len()元組長度子檀,元素個數(shù)
3镊掖,in 和not in
4,+和*
5,元組補(bǔ)充:(列表也可以)
1.獲取元組元素
name = ('1','2','3')
x,y,z=name
print(x,y,x) 通過多個變量分別獲取元組的元素(變量個數(shù)和元組元素個數(shù)一樣)
name=(1,"2","3","4")
a,b,c = name 通過變量名前加可以把變量變成列表褂痰,獲取多個元素
print(a,b,c)
names,name1 =name 讓name1獲取最后一個元素亩进,剩下的部分作為列表names的元素
print(name1,names)
name1,name2=name 讓name1獲取
元組中的第一個元素,剩下的元素部分作為列表
print(name1,name2)
字典
字典也是一種容器類型的數(shù)據(jù)類型(序列)缩歪,存的數(shù)據(jù)是以鍵值對的形式出現(xiàn)的归薛,字典中的元素全部都是鍵值對,字典是可變的(可以增改刪)匪蝙,但是是無序的(不能使用下標(biāo))
并且:鍵是唯一的(如果不唯一苟翻,會覆蓋取最后一個)
鍵值對:鍵:值(key:value);鍵值對中key是形式,值才是真正要存的內(nèi)容
鍵:理論上可以是任何不可變的數(shù)據(jù)類型骗污,但是實際開發(fā)的一般使用字符串作為key
值:可以是任意數(shù)據(jù)類型數(shù)據(jù)
1崇猫,聲明一個字典
dict1 ={}注意數(shù)字和字符串都可以作為key
列表不能作為key,元組可以作為key
創(chuàng)建一個空的字典
dict1 = dict([])
b.將其他數(shù)據(jù)轉(zhuǎn)換成字典
數(shù)字不可以,字符串不可以需忿,列表中是元組诅炉,并且元組里只有兩個元素是可以的
2字典的增刪改查
字典獲取 元素的值是通過key來獲取的
格式:字典[key]
字典.get(key)
注意:如果key值確定存在,使用[]語法去獲取值屋厘。不確定key值是否存在才使用get方法去獲取值
b.增加元素\修改元素
通過key獲取字典元素涕烧,然后賦值。當(dāng)key本身就存在的時候汗洒,就是修改元素的值议纯;不存在的時候就是給字典添加鍵值對
c.刪除: 刪除的是鍵值對
del 字典[key] ---- 注意:key如果不存在會報錯
字典.pop(key) --- 會返回被刪除的鍵值對對應(yīng)的值
字典.keys():獲取字典所有的key,返回值的類型是dict_keys,但是可以把它當(dāng)成列表來使用
字典.values():獲取字典所有的值(value)
字典.items(): 將字典中所有的鍵值對轉(zhuǎn)換成一個一個的元祖溢谤,key作為元祖的第一個元素瞻凤,value作為元祖的第二個元素
4.遍歷字典
a.直接遍歷字典獲取到的是所有的key(推薦使用)
for key in student_dict:
print(key, student_dict[key])
b.遍歷直接獲取到key和value(不推薦使用)
for key, value in student_dict.items():
print(key, value)
for value in student_dict.values():
print(value)
5.列表中有字典憨攒、字典中有字典、字典中有列表
"""
聲明一個變量阀参,作用是用來存儲一個班級的學(xué)生的信息肝集。其中學(xué)生的信息包括姓名、性別蛛壳、年齡杏瞻、電話
至少存三個學(xué)生信息
"""
class1 = [
{'name': '張三', 'age': 23, 'sex': '男', 'tel': '15300022777'},
{'name': '李四', 'age': 25, 'sex': '女', 'tel': '12779922'},
{'name': '王二麻子', 'age': 20, 'sex': '男', 'tel': '12553'}
]
class1 = {
'name': 'py1805',
'address': '19-1',
'students':[
{'name': '張三', 'age': 18},
{'name': '李四', 'age': 28},
{'name': '王五', 'age': 20},
]
}
6.其他操作
1.fromkeys()
dict.fromkeys(序列, value):創(chuàng)建一個新的字典,序列中的元素作為key,value作為值
new_dict = dict.fromkeys('abc', '100')
new_dict = dict.fromkeys(range(10), '100')
new_dict = dict.fromkeys(['abc', 'dcc', '123'], '100')
print(new_dict)
2.in
key in 字典: 判斷字典中是否存在指定的key
3.update
字典1.update(字典2): 使用字典2的鍵值對去更新字典1中的鍵值對衙荐。如果字典2中對應(yīng)鍵值對在字典1中不存在捞挥,就添加。存在就更新
集合
集合(set)也是一種容器類型的數(shù)據(jù)類型(序列)忧吟;數(shù)據(jù)放在{}中砌函,多個之間只用逗號隔開:{1, 2, 'a'}
集合是無序的(不能通過索引取取值), 可變(可以增刪改), 元素不能重復(fù)
集合可以進(jìn)行數(shù)學(xué)中集合相關(guān)的操作:判斷是否包含瀑罗,求交集胸嘴、并集、差集斩祭、補(bǔ)集
怎么聲明集合
"""a.聲明一個變量劣像,賦一個集合值"""
set0 = set() # 創(chuàng)建一個空的集合
set1 = {1, 2, 3, 2, 2}
print(set1, type(set1))
b.將其他的數(shù)據(jù)轉(zhuǎn)換成集合"""
set2 = set('abc1233h') # 將其他數(shù)據(jù)轉(zhuǎn)換成集合,自帶一個去重的功能
2.增刪改查
a.查:遍歷
注意:集合沒有辦法單獨獲取某一個元素
for item in set2:
print(item)
b.增
集合.add(元素): 在指定的集合中添加指定的元素
set1 = {1, 2, 3}
set1.add(100)
print(set1)
集合1.update(集合2):將集合2中的元素添加到集合1中摧玫,自動去重
set1.update({'abc', 'ss'})
print(set1)
c.刪
集合.remove(元素): 在指定的集合中刪除指定的元素
set1.remove('ss')
print(set1)
pop刪除是隨機(jī)刪除一個
set1.pop()
print(set1)
3.判斷是否包含
集合1 >= 集合2 -- 判斷集合1中是否包含集合2(判斷集合2中的所有的元素是否都在集合1中)
集合1 <= 集合2 -- 判斷集合2中是否包含集合1
print({1, 2, 3, 4} >= {1, 4}) # True
print({1, 2, 3, 4} <= {1, 2}) # False
4.數(shù)學(xué)的集合運算
求并集: |
print({1, 2, 3} | {2, 3, 4, 5})
求交集: &
print({1, 2, 3} & {2, 3, 4, 5})
求差集: -
print({1, 2, 3} - {2, 3, 4, 5})
求補(bǔ)集: ^
print({1, 2, 3} ^ {2, 3, 4, 5})
5.其他方法
clear:清空集合
set1.clear()
print(set1, type(set1))
len:獲取集合中元素的個數(shù)
print(len(set1))