日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基础知识:元组、字典、集合

發(fā)布時間:2024/9/30 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基础知识:元组、字典、集合 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

閱讀目錄

  • 一 、元組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)

for item in (‘a(chǎn)’,'b','c'print(item) >>>>>> a b c

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取值 *****

print(dic['c']) # KeyError res = dic.get('c') # 擁有默認值,None,可以避免錯誤 print(res) res = dic.get('d', 'key不存在') # 可以自定義默認值 print(res)

②.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

d10 = {}.fromkeys(['a', 'b', 'c'], '') print(d10) # {'a': '', 'b': '', 'c': ''}

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)置方法:
增:

add:增一個: s={'a','b',18} s.add('c') print(s) # {18, 'c', 'b', 'a'}update:增多個 s={'a','b',18} s.update({'f','e'}) s.update('f','e') print(s) # {'f', 18, 'b', 'a', 'e'}

刪:

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)系

a={'a','b',18} b={'d','c',30} c={'b'} d={'a','b',18,'c'} res1=a.isdisjoint(b) # 判斷a與b是否'不相交' res2=a.issubset(d) # 判斷a是否是d的子集 res3=a.issuperset(c) # 判斷a是否是c的父集 print(res1) # True print(res2) # True print(res3) # True 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的基础知识:元组、字典、集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。