基础知识:元组、字典、集合
閱讀目錄
- 一 、元組tuple:
- 二、字典,字典類型是Python中僅存的mapping類型。
- 三、集合
摘要:
- 元組
- 字典
- 集合
一 、元組tuple:
記錄多個值,當多個值沒有改的需求時候,此時更適合使用元組
特點:
1、用(),在()內(nèi)分隔開來的多個任意類型的值。
2、不可變類型
3、有序
表示:
--------------------------------------------------------------------注:如果你對python感興趣,我這有個學習Python基地,里面有很多學習資料,感興趣的+Q群:895817687 -------------------------------------------------------------------tu = ('a', 'b', 'c') print(tu, type(tu)) # ('a', 'b', 'c') <class 'tuple'> t = (1,1.3,'xx',('a','b'),[1,2]) t1= tuple('hello') #>>>>>>>('h', 'e', 'l', 'l', 'o')常用操作和內(nèi)置方法:
優(yōu)先掌握的:
1、按索引取值,正向、反向取,只能取
tu = ('a', 'b', 'c') print(tu[0]) print(tu[2]) print(tu[-1]) # a # c # c tuu = ('a', 'b', 'c', ['x', 'y']) print(tuu[3][0],id(tuu),id(tuu[3])) tuu[3][0]='z' print(tuu[3][0]) print(tuu[3][0],id(tuu),id(tuu[3]))''' x 2336563819768 2336563836616 z z 2336563819768 2336563836616 '''2、切片(顧頭不顧尾,步長)
t=(1,2,3,4,5) print(t[0:3]) #(1, 2, 3) print(t) #(1, 2, 3, 4, 5)3、長度
4、成員運算in 和not in
5、循環(huán)
6、需要掌握的操作:
t=('a','b','c','a')print(t.count('a')) #2print(t.index('a',1,10)) #3print(t.index('xxx',1,10)) #ValueError該類型總結(jié):
有序,存多個值,不可變。
回到頂部
二、字典,字典類型是Python中僅存的mapping類型。
2.1聲明:字典dict的
key:所有不可變類型,int float tuple str bool None, 一般就采用字符串
value:任意類型
key具有唯一性(重復的話會覆蓋舊值),value可以重復。
字典的定義:
d1 = {'name': 'Owen', 'age': 18} print(d1) # 2 d2 = dict({'name': 'Owen', 'age': 18}) print(d2) # 3 d3 = dict(name='Egon', age=58) print(d3) # 1 d1 = {'name': 'Owen', 'age': 18} # {'name': 'Egon', 'age': 58} print(d1) # 2 d2 = dict({'name': 'Owen', 'age': 18}) # {'name': 'Egon', 'age': 58} print(d2) # 3 d3 = dict(name='Egon', age=58) # {'name': 'Egon', 'age': 58} print(d3)2.2字典的用法
首先:字典為無序儲存,所以無索引于切片,用key來取值。
2.3增刪改查
增 dic ={} 不存在的時候: dic['name']='mac' print(dic)>>>>>>>{'name':'mac'}改 key存在的時候 dic ={'name':'mac'} dic['name']='MAC' #此時key是name,在原dic字典中存在,這時就不用增了,直接改key對應的value就行了。所以print(dic)為{'name': 'MAC'}查:就是對應key查value值 dic ={'name':'mac'} print(dic['name'])>>>>>>mac刪: del dic['name'] print(dic)>>>>>>>{}2.4、
①get取值 *****
②.pop()
dic = {'a': 10, 'b': 20} res=dic.pop('b') # 根據(jù)key刪除指定對象,并返回刪除的對象的value print(res)還有個隨機刪除:隨機刪除,.popitem() 返回值是(key, value)
dic = {'a': 10, 'b': 20} res= dic.popitem() print(dic) print(res)③.update 添加的參數(shù)字典,與dic可以重復,就是更新值,新key就是新增
dic = {'a': 10, 'b': 20} dic.update({'a': 100, 'c': 300}) print(dic)結(jié)果{'a': 100, 'b': 20, 'c': 300}④復制:(淺拷貝|深拷貝)
newDic = dic.copy() print(newDic)d1 = {'list': [1, 2]} d2 = d1.copy() print(id(d1), id(d1['list'])) print(id(d2), id(d2['list'])) d1['list'].append('abc') print(d2)#淺copy:只做第一層copy,內(nèi)部的成員地址還是原來的地址
⑤ 如何定義一個空字典
#第一個參數(shù):keys:list|tuple|str,第二個參數(shù):統(tǒng)一的默認value
2.5字典的循環(huán)
dic = {'a': 10, 'b': 20, 'c': 30} # 直接for循環(huán)(遍歷)字典得到的是key for k in dic:print(k, dic[k])# 能不能只循環(huán)值 values = dic.values() print(values, type(values)) # 存放key的集合 keys = dic.keys() print(keys, type(keys)) # 存放key-value的鍵值對關(guān)系 k_vs = dic.items() print(k_vs, type(k_vs))# dic.values() | dic.keys() | dic.items() 不是原生list,不能直接索引取值,但可以for循環(huán)取值 # vs = list(values) # print(vs[1]) # for v in vs: # print(v)for v in values:print(v) print() for k in keys: # 跟直接遍歷字典是一樣的print(k)print() # ***** 同時遍歷k-v for k, v in dic.items():print(k, v)三、集合
1.定義
s1 = set() s2 = set({1, 2, 3})2.重點:數(shù)據(jù)具有唯一性
#i) 單列數(shù)據(jù)集合:str,list,tuple,set 雙列:dict
#ii) 無序存儲:無key無index,無法取值
#iii) 可變數(shù)據(jù)類型,內(nèi)部可以存放任意類型數(shù)據(jù),但數(shù)據(jù)具有唯一性
3.運算
m = {'a', 'b', 'c', 'egon'} n = {'x', 'y', 'z', 'egon'}#交集 &(咱倆都有的)
res =m & n # {'egon'} res =m.intersection(n) # {'egon'}#并集(你的+我的)
res = m | n # {'z', 'c', 'y', 'x', 'b', 'a', 'egon'} res = m.union(n) # {'z', 'c', 'y', 'x', 'b', 'a', 'egon'}#差集(a-b:a有而b沒有)
res = m - n # {'a', 'b', 'c'} res = m.difference(n) # {'a', 'b', 'c'}#對稱差集(你和我交集以外的
res = m ^ n # {'z', 'x', 'a', 'b', 'c', 'y'} res =m.symmetric_difference(n) # {'c', 'z', 'y', 'a', 'x', 'b'}4、內(nèi)置方法:
增:
刪:
remove:刪除指定元素,無返回值,返回值為None,如果刪除元素不存在,會報錯(discord不會報錯) s={'a','b',18} s.remove(18) print(s) # {'a', 'b'}pop:隨機刪除一個元素,有返回值,返回值為刪除的那個元素 s={'a','b',18} res=s.pop() print(res) print(s) # a {18, 'b'}改:上面的集合運算方法 m.intersection(n) m.union(n) m.difference(n) m.symmetric_difference(n)
查:查看2個幾個之間的關(guān)系
總結(jié)
以上是生活随笔為你收集整理的基础知识:元组、字典、集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基础知识:数字、字符串、列表 的类型及内
- 下一篇: 基础知识:字符编码