字典

1 字典基礎

  1.1 字典是無序的對象的集合,經過鍵來存取,字典的鍵只能是不可變類型。python

  1.3 字典的長度可變,異構,任意嵌套。spa

  1.2 python中不可變數據類型包括:數值類型,字符串和元組。code

2 建立字典的四種方法

  2.1若是你能夠事先能夠拼出整個字典:對象

1 dic = {'name': 'Bob', 'age': 40}

  2.2 若是你須要動態的一次建立字典的一個字段:blog

1 dic = {}
2 dic['name'] = 'Bob'
3 dic['age'] = 20

  2.3 若是你想書寫簡單,並且字典的鍵是字符串:排序

1 dic = dict(name='Bob', age=18)
2 print(dic)

  2.4 若是你須要在程序運行時經過序列構建字典:字符串

1 dic = dict([('name', 'Bob'), ('age', 18)])
2 print(dic)

3 字典的基本操做

  3.1 字典的基本操做之增get

 1 # 經過動態的賦值來爲字典增長鍵值對
 2 dic = {}
 3 dic['name'] = 'Bob'
 4 dic['age'] = 60
 5 print(dic)  # {'name': 'Bob', 'age': 60}
 6 
 7 # 經過setdefault方法增長鍵值對
 8 a = dic.setdefault('name', 'alex')  # 當原字典中有'name',則不去修改,不然增長
 9 b = dic.setdefault('age', 22)  # 同上
10 c = dic.setdefault('sex', '')  # 同上
11 print(a, b, c)  # Bob 60 男
12 print(dic)  # {'name': 'Bob', 'age': 60, 'sex': '男'}

  3.2 字典的基本操做之查it

1 # 經過鍵來查看值
2 print(dic['name'])  # Bob
3 print(dic['age'])  # 60
4 print(dic['sex'])  #
5 
6 # 經過方法keys(),values(),items()
7 print(dic.keys())  # dict_keys(['name', 'age', 'sex'])
8 print(dic.values())  # dict_values(['Bob', 60, '男'])
9 print(dic.items())  # dict_items([('name', 'Bob'), ('age', 60), ('sex', '男')])

  3.3 字典的基本操做之改class

1 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
2 # 經過賦值方式來修改
3 dic['name'] = 'alex'
4 print(dic)  # {'name': 'alex', 'age': 60, 'sex': '男'}
5 
6 # 經過方法update()來修改
7 dic2 = {'sex': '', 'hobby': 'learn', 'country': 'China'}
8 dic.update(dic2)  # 原來不存在的鍵值對追加,存在的鍵修改其值
9 print(dic)  # {'name': 'alex', 'age': 60, 'sex': '女', 'hobby': 'learn', 'country': 'China'}

  3.3 字典的基本操做之刪

 1 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
 2 # 經過del刪除字典中的元素或整個字典
 3 del dic['name']
 4 print(dic)  # {'age': 60, 'sex': '男'}
 5 del dic
 6 # print(dic)  # NameError: name 'dic' is not defined
 7 
 8 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
 9 # 經過pop()方法
10 name = dic.pop('name')
11 print(name)  # Bob
12 print(dic)  # {'age': 60, 'sex': '男'}

4 字典中其餘內置方法

  4.1 fromkeys()

1 dic = dict.fromkeys(['key1', 'key2', 'key3'], 'values')
2 # 相似將字典中的鍵初始化爲一個默認的值
3 print(dic)  # {'key1': 'values', 'key2': 'values', 'key3': 'values'}
4 dic2 = dic.fromkeys(['key1', 'key2', 'key3'], ['values1', 'values2'])
5 print(dic2)  # {'key1': ['values1', 'values2'], 'key2': ['values1', 'values2'], 'key3': ['values1', 'values2']}
6 dic2['key1'][0] = 'values3'  # fromkeys()建立的字典,修改字典中的一個嵌套列表中的值,多有的鍵值都修改
7 print(dic2)  # {'key1': ['values3', 'values2'], 'key2': ['values3', 'values2'], 'key3': ['values3', 'values2']}

  4.2 get()

1 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
2 print(dic.get('name'))  # Bob
3 print(dic.get('hobby'))  # None  能夠判斷字典中是否有此鍵
4 print(dic.get('hobby', 'basketball'))  # basketball

  4.3 copy()

    注:只是淺拷貝,只對頂層的拷貝

1 dic = {'name': 'Bob', 'age': 60, 'sex': '', 'hobby': ['read', 'basketball']}
2 dic2 = dic.copy()  # {'name': 'Bob', 'age': 60, 'sex': '男', 'hobby': ['read', 'basketball']}
3 print(dic2)
4 dic['hobby'][0] = 'write'
5 print(dic2)  # {'name': 'Bob', 'age': 60, 'sex': '男', 'hobby': ['write', 'basketball']}

5 字典的排序

  採用sorted()

1 dic = {'b': 'b', 'a': 'a', 'c': 'c'}
2 print(dic)
3 for key in sorted(dic):
4     print(key, dic[key])

 6 字典的遍歷

1 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
2 for key in dic:
3     print(key, dic[key])
4 
5 for item in dic.items():
6     print(item)
7 
8 for i, v in dic.items():
9     print(i, v)
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息