python 05 字典
01今日內容大綱
- 字典初識
- 字典使用(增刪改查)
- 字典的嵌套
02內容回顧
- 列表:容器型數據類型,可以承載大量的數據,有序的數據
- 增
- append 追加
- insert 插入
- extend 迭代追加
- 刪:
- pop 按照索引刪除,有返回值,默認刪除最后一個
- remove 按照元素刪除
- clear 清空
- del 索引,切片(步長)
- 改
- l1[1]
- l1[1:3]
- l1[1:4;2]
- 查:索引切片;for循環
- 增
- 元組:只讀列表,()拆包 元組拆包 元組拆包 元組拆包
- range:看做:可以自己控制范圍的數字列表,但是他不是列表
03 具體內容
字典的初識:
why:
- 列表可以存儲大量的數據,數據之間的關聯性不強
- 列表的查詢速度比較慢
what:容器容數據類型:dict
how:
數據的分類(可變和不可變)
可變(不可哈希)的數據類型:list dict set(集合)
不可變(可哈希)的數據類型:str bool int tuple
字典:{}括起來,以 鍵值對 的形式存儲的容器型數據類型
dic={'太白':
{'name':'太白金星','age':18,'sex':'男'},
'python22期':['大壯','小壯','hjb'],
}
鍵必須是不可變的數據類型,也就是可哈希:int,str(bool,tuple幾乎不用)
值可以是任意數據類型,對象
字典3.5x版本之前是無序的
字典3.6x會按照初次建立字典的順序排列,學術上不認為是有序的
字典3.7x以后都是有序的
字典的優點:查詢速度快;關聯性強
字典的缺點:以空間換時間
字典的創建方式:
- 方式一:dic=dict((('one',1),('two',2),('three',3)))
- 方式二:dic=dict('one'=1,'two'=2,'three'=3)
- 方式三:dic=dict({'one':1,'two':2,'three':3})
字典的增刪改查
dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '鋼管', '開車']}
增:
- dic['sex']='男',如果key存在,則直接修改
- dic.setdefault('sex','男')
刪:
pop 按照鍵刪除鍵值對,有返回值*******
設置第二個參數則無論字典中有無此鍵都不會報錯
dic.pop('age')
因為有返回值,所以還可以寫成ret=dic.pop('age') print(ret)
ret=dic.pop('hobby','沒有此鍵')
print(ret)
print(dic)
clear 清空
dic.clear()
print(dic)
del **
del dic('age')
改:
dic['name']='alex'
print(dic)
查:
l1=dic.get('hobby_list')
l2=dic.get('hobby_list','沒有此鍵沙雕')
三個特殊的:
keys() values() items()
可以轉化成列表
print(list(dic.keys()))
key
for key in dic.keys():
? print(key)
for key in dic:
? print(dic)
兩個for循環輸出的結果是一樣的
value
dic={'one':1,'two':2,'three':3} print(dic.values()) #返回值:dict_values([1, 2, 3]) dic={'one':1,'two':2,'three':3} for value in dic.values():print(value)上邊的valuefor循環中必須是 dic.values(),如果是for value in dic,則輸出 one two three
item
for key,value in dic.items():print(key,value)感覺item多用于拆包
字典的嵌套
dic = { # 'name': '汪峰', # 'age': 48, # 'wife': [{'name': '國際章', 'age': 38},], # 'children': {'girl_first': '小蘋果','girl_second': '小怡','girl_three': '頂頂'} # } # 1. 獲取汪峰的名字。 # print(dic['name']) # 2.獲取這個字典:{'name':'國際章','age':38}。 # print(dic['wife'][0]) # 3. 獲取汪峰妻子的名字。 # print(dic['wife'][0]['name']) # 4. 獲取汪峰的第三個孩子名字。 # print(dic['children']['girl_three'])
04 今日總結
- 字典:查詢速度快,數據有關聯性
- 鍵不可變的數據類型,(str int),唯一
- 值:任意數據類型,對象
- 增刪改查(已經是閹割版,全部都要記住)***
字典的嵌套 ***
tomorrow
明天講理論性偏多:id is == 小數據池,集合。
轉載于:https://www.cnblogs.com/miseryGOD/p/10813353.html
總結
以上是生活随笔為你收集整理的python 05 字典的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 农历_JAVA工具例大全--阴
- 下一篇: NTC热敏电阻计算温度之C代码