老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Python字典的介紹和使用

Python是一種跨平臺的計算機程序設計語言。 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。字典是另一種可變容器模型,且可存儲任意類型對象。

網站建設公司,為您提供網站建設,網站制作,網頁設計及定制網站建設服務,專注于企業網站設計,高端網頁制作,對酒店設計等多個行業擁有豐富的網站建設經驗的網站建設公司。專業網站設計,網站優化推廣哪家好,專業seo優化優化,H5建站,響應式網站。

一、什么是字典

字典是python里的一種數據類型,特點是元素的無序性,和鍵key的唯一性。字典的創建方法是{key:values},字典里的鍵key只能是不可變的數據類型(整型,字符串或者是元組),值values可以是任何數據類型。字典里的一組key:values叫做一個鍵值對item。

1、字典的實現原理

     字典的實現原理和差字典是類似的。當我們在字典中查找某個字時,一種辦法是從字典的第一頁開始往后翻,

直到找到我們要查找的字為止。這種辦法就是在列表中查找元素的方法,其缺點:字典中的字數越多查找的效率

越低。第二種方法是先在字典的索引表里(比如部首表)查找這個字對應的頁碼,然后直接到這個字對應的頁,

其優點是:查找效率不會隨著字典中字數的增加而降低,無論查找哪個字,查找速度非常快。

2、字典的特點

a)  字典中的所有元素都是一個key-value時,通過指定的key總能映射到唯一確定的value。字典中不可以存在重復的,

但是可以存在重復的value。

b) 字典中的元素是無序的。順序不重要重要的是key和value的映射關系。

c)  字典中的key必須是不可變對象。存取字典中的key-value對時,系統會調用內置函數hash根據指定key計算出value

存儲位置,也就是哈希值。對于指定的key,為了保證每次計算出的哈希值都是相同的,要求key必須是不可變對象。也就是說,

只有不可變對象才存在哈希值。

d)  字典可以根據需要動態地伸縮。系統會根據需要動態分配和回收內存,因此在使用前無須預先聲明字典的容量。

e)  字典會浪費較大的內存,與列表相比是用空間換取查詢時間。


二、為什么需要字典

例如:電話簿中存儲了姓名和電話號碼:

    張三  111111111

    李四  222222222

    王五  333333333

    趙六  444444444

# 姓名

names = ['張三','李四','王五','趙六']

# 電話號碼

numbers = ['111111111','222222222','333333333','444444444']

print(numbers[names.index('張三')]) # 111111111
for i,n in zip(names,numbers):
    print(i,n)
#或者使用zip進行并行遍歷
張三 111111111
李四 222222222
王五 333333333
趙六 444444444

最好是能把姓名和電話號碼全部存儲在一個和腳phonebook的數據結構中,就能直接獲得其對應的電話號碼。

phonebook = {'張三':'111111111','李四':'222222222','王五':'333333333','趙六':'444444444'}
print(phonebook['張三']) #111111111

三、字典的創建

1、使用花括號{}的方式

d1 = {'zhangsan':18,'lisi':19,'wangwu':20}
print(d1) # {'zhangsan': 18, 'lisi': 19, 'wangwu': 20}
#空字典創建
d1 = {}
print(d1) # {}

2、使用內置函數dict()

#傳遞字典參數
d2 = dict({'zhangsan':18,'lisi':19,'wangwu':20})
print(d2) # {'zhangsan': 18, 'lisi': 19, 'wangwu': 20}
#傳遞帶元組的列表
d2 = dict([('zhangsan',18),('lisi',19),('wangwu',20)])
print(d2) # {'zhangsan': 18, 'lisi': 19, 'wangwu': 20}
#傳遞zip迭代對象
d2 = dict(zip(['zhangsan','lisi','wangwu'],(18,19,20)))
print(d2) # {'zhangsan': 18, 'lisi': 19, 'wangwu': 20}

四、字典的增刪改查

1、查操作

#使用[]的方法傳遞索引
d1 = dict([('name','zhangsan'),('age',18)])
print(d1['name'])
print(d1['age'])

#get方法
print(d1.get('name')) # zhangsan
print(d1.get('age'))  # 18
print(d1.get('abc','NONE')) # get允許我們自定義返回值,如果不存在對應值或索引時


2、增操作

d1['hobby'] = 'games'  #增加一個不存在的key-value對
d1.update([('wang',17),('li',16)])  # 使用update方法,一次增加多個key-value對
d1.update({'tianqi':'19'})
d1.update(zhangsan1 = 18)
print(d1)  # {'name': 'zhangsan', 'age': 18, 'hobby': 'games', 'wang': 17, 'li': 16, 'tianqi': '19', 'zhangsan1': 18}

3、改操作

d1['age'] = '27'
d1.update(wang = 22,tianqi = 23)
d1.update({'name':'zhangsan1'})
d1.update(hobby = 'read')
d1.update([('tianqi',23),('zhangsan',25)])
print(d1)  # {'name': 'zhangsan1', 'age': '27', 'hobby': 'read', 'wang': 22, 'li': 16, 'tianqi': 23, 'zhangsan1': 18, 'zhangsan': 25}

4、刪操作

d1 = {'name': 'zhangsan1', 'age': '27', 'hobby2': 'games', 'hobby1': 'read', 'zhangsan': 25}
d1.pop('name')  # 刪除一個指定key
d1.popitem()  #隨機刪除一個key
del(d1['age']) # 刪除一個指定key
print(d1)  # {'hobby2': 'games', 'hobby1': 'read'}
d1.clear() # 清空列表
print(d1) # {}

五、字典的視圖

1、調用keys,values,iteams方法打印字典視圖

print(d1.keys(),type(d1.keys()))  # dict_keys(['name', 'age', 'hobby2', 'hobby1', 'zhangsan'])  打印字典的key
print(d1.values(),type(d1.values())) # dict_values(['zhangsan1', '27', 'games', 'read', 25])  打印字典的values
print(d1.items(),type(d1.items())) # dict_items([('name', 'zhangsan1'), ('age', '27'), ('hobby2', 'games'), ('hobby1', 'read'), ('zhangsan', 25)])  # 打印字典的key-value

六、為字典設置默認值

1、使用dict.setdefault()方法為字典設置默認值

# 為字典設置默認值
d1 = dict([('name','zhangsan'),('age',18),('hobby','games')])
print(d1.setdefault('name')) # zhangsan 當key-value存在時,返回對應值
print(d1.setdefault('score',90)) # 90  # 當key-value不存在時,賦予默認值,并添加到字典中
print(d1) # {'name': 'zhangsan', 'age': 18, 'hobby': 'games', 'score': 90}

七、借助字典創建格式化字符串

d1 = dict([('name','zhangsan'),('age',18),('hobby','games')])
# 使用%作為占位符
print('名字是:%s,年齡是:%i,愛好是:%s' % (d1['name'],d1['age'],d1['hobby']))
print('名字是:%(name)s,年齡是:%(age)i,愛好是:%(hobby)s' % d1)
# 使用{}作為占位符
print('名字是:{},年齡是:{},愛好是:{}' .format(d1['name'],d1['age'],d1['hobby']))
print('名字是:{name},年齡是:{age},愛好是:{hobby}' .format_map(d1))


網站名稱:Python字典的介紹和使用
分享路徑:http://www.xueling.net.cn/article/gdpjoe.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 美女总裁的贴身保镖短剧 | 91爱啪 | 日本精品啪啪一区二区三区 | 日韩成人av在线 | 免费成人在线观看视频 | 777米奇色8888狠狠俺去啦 | 2024你懂的网站无码内射 | 亚洲a视| 91福利精品第一导航禁漫天堂 | 一级生性活片免费视频片 | 国产中年熟女高潮大集合 | 国产精品久久亚洲不卡 | 一级毛片中文字幕 | 欧美高清www | 色婷婷欧美在线播放内射 | 日本无遮挡吸乳呻吟视频 | 毛片黄视频| 被多个强壮的黑人灌满精 | 国产最顶级的黄色片在线免费观看 | 亚洲精品国产精品成人不卡 | 男人一边吃奶一边弄下边好爽 | 国产精华xxx | 92国产精品午夜福利免费 | 99久久这里只有精品 | 国产免费无码一区二区视频 | 侵犯五十路电车痴汉在线 | 丰满人妻一区二区三区av猛交 | 日韩福利视频在线 | 亚洲国产精品无码成人A片在线 | 欧美久久久久久久久久久久久久 | 成人做爰高潮片免费看视频 | 久久2018 | 欧美人与动人物牲交免费观看久久 | 亚洲精品国产精 | 一本久久知道综合久久 | 国产一区二区三区免费在线观看 | 亚洲日韩欧美综合不卡在线 | 一性一交一伦一色一按—摩 | 国产精品免费自拍 | 九九九九热精品免费视频点播观看 | 在线视频一二三区 |