目錄
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'