四、散列類型、運算符優先級和邏輯運算

              集合              (惟一性、無序性、可變性)

一、兩種定義方法:

>>> set1 = set((1,2,3,4,5))
>>> set1
{1, 2, 3, 4, 5}
>>> set2 = {1,2,3,4,5}

二、三種運算:

>>> set1 = {1,2,3,4,6,5}
>>> set2 = {2,3,4,5,7,8}
>>> set1&set2             #交集
{2, 3, 4, 5}
>>> set1|set2              #並集
{1, 2, 3, 4, 5, 6, 7, 8}
>>> set1-set2              #差集
{1, 6}

三、集合的增刪改查方法

增:

add:增長一個元素post

>>> set1.add(8)
>>> set1
{1, 2, 3, 4, 5, 6, 8}

update:將一個集合的全部元素添加到原來集合中spa

>>> set1.update({'a','s','d','f'})
>>> set1
{'a', 1, 2, 3, 4, 5, 6, 'd', 8, 's', 'f'}

刪:

pop: 刪除任意一個元素code

{'a', 1, 2, 3, 4, 5, 6, 'd', 8, 's', 'f'}
>>> set1.pop()
'a'
>>> set1
{1, 2, 3, 4, 5, 6, 'd', 8, 's', 'f'}

 remove:  刪除指定元素對象

>>> set1
{1, 2, 3, 4, 5, 6, 'd', 8, 's', 'f'}
>>> set1.remove(8)
>>> set1
{1, 2, 3, 4, 5, 6, 'd', 's', 'f'}

查:

isdisjoint    有交集返回Falseblog

>>> set1
{1, 2, 3, 4, 5, 6, 'd', 's', 'f'}
>>> set2
{2, 3, 4, 5, 7, 8}
>>> set1.isdisjoint(set2)
False

issubset      判斷是否包含於rem

>>> set1
{1, 2, 3, 4, 5, 6, 'd', 's', 'f'}
>>> set2
{2, 3, 4, 5, 7, 8}
>>> set1.issubset(set2)
False

issuperset     判斷是否包含get

>>> set1
{1, 2, 3, 4, 5, 6, 'd', 's', 'f'}
>>> set2
{2, 3, 4, 5, 7, 8}
>>> set1.issuperset(set2)
False

             字典               key鍵惟一性、無序性、可變性

1、兩種定義方法

>>> dict1 = {'name':'炎志','age':'18'}
>>> dict2 = dict(name = '炎志',age = '18')
>>> dict1
{'name': '炎志', 'age': '18'}
>>> dict2
{'name': '炎志', 'age': '18'}

2、修改和添加

>>> dict1
{'name': '炎志', 'age': '18'}
>>> dict2
{'name': '炎志', 'age': '18'}
>>> dict1['name'] = '劉陽'        #修改
>>> dict2['post'] = '老師'           #添加
>>> dict1
{'name': '劉陽', 'age': '18'}
>>> dict2
{'name': '炎志', 'age': '18', 'post': '老師'}

3、字典的增刪改查

刪:

pop:經過keyj鍵刪除對應value鍵值,並返回it

>>> dict1
{'name': '劉陽', 'age': '18'}
>>> dict2
{'name': '炎志', 'age': '18', 'post': '老師'}
>>> dict2.pop('post')
'老師'
>>> dict2
{'name': '炎志', 'age': '18'}

 

popitem : 刪除一個鍵值對,並返回io

>>> dict2
{'name': '炎志', 'age': '18'}
>>> dict2.popitem()
('name', '炎志')
>>> dict2
{'age': '18'}

 

clear :清空列表class

>>> dict1
{'name': '劉陽', 'age': '18'}
>>> dict1.clear()
>>> dict1
{}

查:

get  :經過key查找對應的value值

>>>dict1 = {'name':'劉陽','age':'18'}
>>> dict1.get('name')
'劉陽'

keys   :  查找出列表內全部的key

>>> dict1 = {'name':'劉陽','age':'18'}
>>> dict1.keys()
dict_keys(['name', 'age'])

values :查詢全部的value

>>> dict1 = {'name':'劉陽','age':'18'}
>>> dict1.values()
dict_values(['劉陽', '18'])

items: 顯示全部的鍵值對

>>> dict1 = {'name':'劉陽','age':'18'}
>>> dict1.items()
dict_items([('name', '劉陽'), ('age', '18')])

增 :

update:把一個字典裏的鍵值對添加的原來的字典裏

>>> dict1
{'name': '劉陽', 'age': '18'}
>>> dict1.update({'from':'瀋陽'})
>>> dict1
{'name': '劉陽', 'age': '18', 'from': '瀋陽'}

 

setdefault 有則查,無則增

>>> dict1
{'name': '劉陽', 'age': '18', 'from': '瀋陽'}
>>> dict1.setdefault('from')                     #
'瀋陽'
>>> dict1.setdefault('school')                    #
>>> dict1
{'name': '劉陽', 'age': '18', 'school': None, 'from': '瀋陽'}

其餘方法:

copy:複製

>>> dict1
{'name': '劉陽', 'age': '18', 'school': None, 'from': '瀋陽'}
>>> dict2 = dict1.copy()
>>> dict2
{'name': '劉陽', 'age': '18', 'school': None, 'from': '瀋陽'}

 

fromkeys : 返回一個新的字典(建立字典)

>>> dict.fromkeys(['aa','bb'],[1,2])
{'bb': [1, 2], 'aa': [1, 2]}
>>> dict.fromkeys(['aa','bb'])
{'bb': None, 'aa': None}
>>> dict.fromkeys(['aa','bb'],{1,2})
{'bb': {1, 2}, 'aa': {1, 2}}

      運算符優先級       

         邏輯運算          

 

一、查看對象類型:type

>>> set1
{1, 2, 3, 4, 5, 6, 'd', 's', 'f'}
>>> dict1
{'name': '劉陽', 'age': '18', 'school': None, 'from': '瀋陽'}
>>> type(set1)
<class 'set'>
>>> type(dict)
<class 'type'>
>>> type(dict1)
<class 'dict'>

 

判斷對象類型:isinstance

>>> isinstance(set1,dict)
False
>>> isinstance(set1,set)
True

二、比較運算符:

== (等於)

>>> 1 == 1
True
>>> 2 == 1
False

 

!=(不等於)

>>> 1 != 1
False
>>> 2 != 1
True

 

三、若是有多個條件:

判斷語句1 and 判斷語句

>>> True and False
False
>>> True and True
True
>>> False and False
False

2 判斷語句1 or 判斷語句2

>>> False or False 
False
>>> True or False 
True
>>> True or True 
True

 

not 判斷語句1

>>> not True
False
>>> not False
True
相關文章
相關標籤/搜索