元組(tuple)
元組是python提供的容器型數(shù)據(jù)類型(序列),不可變(特性),有序
元組是不可變的列表,一般保存一些不讓修改的數(shù)據(jù)
(元素1冀墨,元素2,...)
空元組 tuple1 = ()
元素個數(shù)是1的元組 (元素后必須加逗號)tuple1 = (1,)
元組可以省兩邊括號(多個數(shù)據(jù)直接用逗號隔開涛贯,表示的是一個元組)诽嘉,tuple1 = 1, 2, 3
獲取元素:和列表一樣
tuple1 = ('1','2','3')
print(tuple1[1])
print(tuple1[1:])
for i in tuple1:
print(i)
1)讓變量的個數(shù)和元組中的元素個數(shù)保持一致,來一以獲取元組中每個元素的值
point = (100,50)
x, y = point
print(x, y)
2)讓多個變量同時獲取元組中的元素的時候疫蔓,可以在一個變量前加*將這個變量變成一個列表含懊。
來獲取不帶的變量獲取后剩下的數(shù)據(jù)。(注意衅胀,帶的變量只能有一個)
字典(dict)
1.什么是字典(dict)
字典是python提供的容器型數(shù)據(jù)類型(序列)岔乔,可變,無序
2.字典中的元素就是鍵值對
{key1: value1滚躯,key2:value2雏门, ...}
鍵值對 -> 以‘鍵’:‘值’成對出現(xiàn)的
鍵(key) -> 要求不可變,唯一(建議用字符串作為key掸掏,用來對值進行說明和區(qū)分的茁影,還作為索引)
值(value) -> 任何類型的數(shù)據(jù)都可以作為值
3.元素操作
1)查 -> 獲取值
1. 字典[key] -> 獲取字典中key對應(yīng)的value,key不存在報錯
2. 字典.get(key) -> 獲取字典中key對應(yīng)的value丧凤,key不存在不報錯募闲,結(jié)果是None
字典.get(key,默認值) -> 如果key不存在不報錯,結(jié)果是默認值
3. 遍歷
直接通過for循環(huán)遍歷字典的時候愿待,獲取到的是所有的key
2) 增浩螺;改 ->
字典[key] = value -> 如果key存在靴患, 修改key對應(yīng)的值;如果key 不存在要出,添加鍵值對
3)刪除
del 字典[key] -> 刪除鍵值對(key不存在會報錯)
字典.pop(key) -> 取出字典中key對應(yīng)的值鸳君,如果key不存在會報錯
4.相關(guān)操作
字典不支持加法,乘法運算(不支持數(shù)學(xué)運算)
字典只支持相等比較患蹂;不支持大小比較
in/not in
key in 字典 -> 字典中是否存在指定的key
len -> 鍵值對個數(shù)
dict -> 轉(zhuǎn)換類型(數(shù)據(jù)本身序列類型或颊,序列中每個元素也是序列且長度是2,子序列中首元素不可變)
字典轉(zhuǎn)換為列表時传于,將key取出作為列表的元素痘昌。
5.內(nèi)置函數(shù)
字典.clear() -> 清空字典
字典.copy() -> 復(fù)制鍵值對展箱,產(chǎn)生新字典
fromkeys -> dict.fromkeys(序列庶柿, 值) -> 創(chuàng)建一個新的字典挤巡,字典的key是序列的元素,key對應(yīng)的value是值
new_dict = dict.fromkeys('hello',100)
print(new_dict)
#{'h': 100, 'e': 100, 'l': 100, 'o': 100}
字典.keys() -> 獲取字典中所有的key盛末,結(jié)果是一個序列
字典.value() -> 獲取字典中所有的value,結(jié)果是一個序列
字典.item() -> 獲取字典中所有的鍵值對否淤,結(jié)果是返回元組形式悄但,一個鍵值對對應(yīng)一個元組
字典. setdefault(key,value) -> 添加鍵值對,只能添加
字典1.update(字典2) -> 字典2的數(shù)據(jù)更新字典1石抡;不存在就添加檐嚣,存在就修改
集合(set)
1.什么是集合
容器型數(shù)據(jù)類型(set),可變啰扛,無序
2.集合中的元素 -> 不可變嚎京,唯一,自帶去重功能
{元素1隐解, 元素2鞍帝,....}
3. 空集合
set1 = set() #set1 = {} 是空字典
3.元素相關(guān)操作
1) 查
集合不能單獨獲取指定的某一個元素,只支持遍歷
2)增
集合.add(元素) -> 往集合中添加一個元素
集合.update(序列) -> 將序列中的元素添加到集合中(自帶去重)
3)刪
集合.remove(元素) -> 刪除集合中指定的元素(元素不存在會報錯)
4.數(shù)學(xué)集合運算
| : set1 | set2 -> 并運算
&:set1 & set2 -> 交運算
-:set1 - set2 -> 差運算(A - B)
^: set1 ^ set2 -> 對稱差 (A - B)U(B - A)
包含關(guān)系:集合1 >= 集合2
包含關(guān)系:集合1 <= 集合2