Python字典基礎、以及字典的"增刪改查”

字典:

        字典是“鍵值對”的無序可變序列,字典中的每個元素都是一個“鍵值對”,包含:"鍵對象"和“值對象”。可以通過"鍵對象“實現快速獲取、刪除、更新對應的“值對象”。

        列表中我們通過“下標數字”找到對應的對象,字典中通過“鍵對象”找到對應的“值對象”。“鍵”是任意的不可變數據,比如整數、浮點數、字符串、元組。但是:列表、字典、集合、這些可變對象,不能作爲“鍵”,並且“鍵”不可重複。

       “值”可以任意數據,並且可重複

字典的定義方式:

        a={'name':'xxx','age':18}

字典的創建:      

#1.可以通過{},dict()來創建字典對象 
  
a={'name':'xx','age':18}
b=dict(name='xx',age=18)
c=dict([('name','xx'),('age',18)])
print(a)
>>>{'name': 'xx', 'age': 18}

print(b)
>>>{'name': 'xx', 'age': 18}

print(c)
>>>{'name': 'xx', 'age': 18}

d={}      #空的字典對象
e=dict()  #空的字典對象

#2.通過zip()創建字典,誰在前,誰爲鍵
k=['name','age']
v=['xxx',18]
d=dict(zip(k,v))
print(d)
>>>{'name': 'xxx', 'age': 18}


#3.通過fromkeys創建值爲空的字典
a=dict.fromkeys(['name','age'])
print(a)
>>>{'name': None, 'age': None}

字典元素的訪問(6種方法):

#先設定一個字典對象:
a={'name':'xxa','age':18}

#**1.**通過【鍵】獲取“值”,若鍵不在,則拋出異常
print(a['name'])
>>>xxa

print(a['sex'])
>>>Traceback (most recent call last):
   File "<input>", line 1, in <module>
   KeyError: 'sex'

#**2.**通過get()方法獲取“值”,推薦使用。優點是:指點鍵不存在,返回None,也可以設定指定鍵不存在時mo默認返回對象,推薦使用get()獲取“鍵值對”
print(a.get('name'))
>>>xxa
print(a.get('sex','一個女人'))
>>>一個女人

#**3.**列出所有鍵值對
print(a.items())
>>>dict_items([('name', 'xxa'), ('age', 18)])

#**4.**列出所有的鍵,列出所有的值
print(a.keys())
>>>dict_keys(['name', 'age'])
print(a.values())
>>>dict_values(['xxa', 18])

#**5.**len()鍵值對的個數
print(len(a))
>>>2

#**6.**檢測一個“鍵”,是否存在字典中
if "name" in a:
    print(True)
>>> True

添加:

       給字典新增“鍵值對”。如果存在,則覆蓋舊的鍵值對,如果“鍵”不存在,則新增“鍵值對”

       >>>a={"name":"天天向上","age":18}

       >>>a['address']='同在地球村'

       >>>a

       {'name': '天天向上', 'age': 18, 'address': '同在地球村'}

修改:

        使用update()將字典中所有鍵值對全部添加到舊字典對象上。如果“鍵”有重複,則直接覆蓋

        >>>a={"name":"天天向上","age":18}

        >>>b={'name':'hello',"sex":"男",}

        >>>a.update(b)

        >>>a

        {'name': 'hello', 'gae': 18, 'address': '同在地球村', 'sex': '男'}

刪除:

      字典中元素的刪除,可以使用del()方法,或者clear()刪除所有鍵值對,pop()刪除指定鍵值對,並返回對應的“值對象“

      >>>a={"name":"天天向上","age":18, 'address': '同在地球村'}

      >>>del(a['name'])

      >>>a

      {'age': 18, 'address': '同在地球村'}

      >>>b=a.pop('age')

      >>>b

      18

     隨機刪除:

     popitem(),隨機刪除和返回該鍵值對,字典是“無序可變序列”,因此沒有第一個元素、最後一個元素的概念,popitem彈出隨機的項,因爲字典並沒有“最後的元素”或者其他有關順序的概念,若想一個接一個地移除並處理項,這個方法就非常有效(因爲不用獲取鍵的列表)

    >>>a={"age":18, 'address': '同在地球村'}

    >>>a.popitem()

    ('address', '同在地球村')

     >>>a.popitem()

     ('age', 18)

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章