天天看點

python 元組、字典、set1.Tuple元組====》小括号2.Dict字典===>大括号+鍵名+逗号+鍵值3.Set==》大括号+逗号

目錄

1.Tuple元組====》小括号

初始化後不可修改的List就是Tuple

Tuple之括号歧義

Tuple之可變

tuple元素是變量時,無法改變

tuple元素是清單list

2.Dict字典===>大括号+鍵名+逗号+鍵值

3.Set==》大括号+逗号

1.Tuple元組====》小括号

初始化後不可修改的List就是Tuple

list是【】,tuple是()

詳細:Python Tuple(元組) tuple()方法 | 菜鳥教程 (runoob.com)

>>> t=(1,2)
>>> print(t)
(1, 2)
>>> print(t[0])
1
>>> t.append(3)
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    t.append(3)
AttributeError: 'tuple' object has no attribute 'append'
>>> t.pop(1)
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    t.pop(1)
AttributeError: 'tuple' object has no attribute 'pop'
>>> t[0]=2
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    t[0]=2
TypeError: 'tuple' object does not support item assignment
>>> 
           

從上可以看出不能修改

Tuple之括号歧義

>>> t=(1)           #當成表達式來計算
>>> print(t)    
1                   #如果是tuple的話,應該是(1),t為整形變量
>>> t=(1,)          #用逗号聲明這是個 tuple,且隻有一個元素1;
>>> print(t)
(1,)
>>> 
           

Tuple之可變

tuple元素是變量時,無法改變

>>> a=1
>>> t=(a,4)
>>> print(t)
(1, 4)
>>> a=3        #改變變量
>>> print(t)   #沒有變
(1, 4)           
>>> t=(a,4)    #再次定義
>>> print(t)   #變了
(3, 4)
           

tuple元素是清單list

>>> t=('hi',['haha',2,4])
>>> print(t)
('hi', ['haha', 2, 4])
>>> t[1].pop(0)            #删除
'haha'                     #删除
>>> print(t)
('hi', [2, 4])             #删除成功
>>> t[1].append('djk')
>>> print(t)
('hi', [2, 4, 'djk'])
>>> 
           

2.Dict字典===>大括号+鍵名+逗号+鍵值

>>> a={'a':1,'name':44}     #{}聲明dict,逗号分割元素   '鍵名':值
>>> print(a)
{'a': 1, 'name': 44}
>>> print(a['name'])         #通路某一進制素
44
>>> a['name']=22             #可修改
>>> print(a['name'])
22
>>> print(a.get('name'))    #get()方法的好處是,當a中無name這個鍵名時,不報錯,傳回None
22

>>> print(a.get('no'))
None
>>> print(a.get('no',"預設值"))
預設值

>>> a['add']=55              #可添加
>>> print(a)
{'a': 1, 'name': 22, 'add': 55}   #添加内容不一定放到最後,是無序的


#查詢某一進制素是否在a内
>>> 'add' in a      #文法:    '鍵名' in dict名
True                #電腦判定給出的答案

>>> a.keys()        #查鍵名
dict_keys(['a', 'name', 'add'])

>>> del a['name']      # 删除鍵是'Name'的條目
>>> print(a)
{'a': 1, 'add': 55}

#另
#dict.clear()      # 清空字典所有條目  
#del dict          # 删除字典
           

特性:

1)不允許同一個鍵出現兩次。建立時如果同一個鍵被指派兩次,後一個值會被記住

2)鍵必須不可變,是以可以用數字,字元串或元組充當,是以用清單list就不行

字典内置函數&方法:Python 字典(Dictionary) | 菜鳥教程 (runoob.com)

3.Set==》大括号+逗号

>>> L={'a','b','a'}
>>> print(L)
{'b', 'a'}
>>> s=set(L)  
>>> print(s)
{'b', 'a'}
>>> s.add('c')
>>> print(s)
{'b', 'c', 'a'}
>>> s.add('c')      #dict鍵名重名會覆寫,添加一樣的,Set中無重複的鍵名
>>> print(s)
{'b', 'c', 'a'}

#删除
>>> s.remove('c')
>>> print(s)
{'b', 'a'}

#不能添加清單list
>>> s.add([1,2,3])
Traceback (most recent call last):        #報錯了
  File "<pyshell#31>", line 1, in <module>
    s.add([1,2,3])
TypeError: unhashable type: 'list'
           

繼續閱讀