value)對用冒號(:)分割,每個對之間用" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python入門實踐12 | 字典(Dictionary)

系統 2388 0

Python入門實踐12 ——字典(Dictionary)


字典(Dictionary)
一、目標

1、掌握字典的特征,key唯一,不可變。
2、掌握字典的常用操作。

二、要點

1、字典

字典是另一種可變容器模型,是一個無序、以鍵值對存儲的數據類型,數據關聯性強、唯一一個映射數據類型。

鍵:必須是可哈希(不可變的數據類型:字符串、數字、元組、bool)值,并且是唯一的。

字典(Dictionary)

2、定義

字典的每個鍵值(key=>value)對用冒號( : )分割,每個對之間用逗號( , )分割,整個字典包括在花括號( {}) 中。

格式如下:

d = {key1 : value1, key2 : value2 }

  • 鍵必須是唯一的。不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,后一個值會被記住。

  • 鍵必須不可變,所以可以用數字,字符串或元組充當,而用列表就不行,

  • 值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。

1)、{}直接創建字典
scores = {'語文': 89, '數學': 92, '英語': 93};
2)、使用關鍵字參數來創建字典
dict6 = dict(spinach = 1.39, cabbage = 2.59)
print(dict6);

3、字典里的值

把相應的鍵放入到方括號中。

如d[“key1”]

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
4、字典的操作
1)、增加
(1)dict[key] = value;
添加 key-value 對,如果該鍵已存在,則會覆蓋之前的值 ,不存在的 key ,添加到字典序列后。

(2) setdefault(key,value)
字典調用該函數,參數“key”為必填,“value”如果不填寫默認為None,這個函數的作用可以避免覆蓋已存在的鍵。
如果字典中包含有給定鍵,則返回該鍵對應的值,否則返回為該鍵設置的值。

print(scores.setdefault("化學",100));
(3)、dict.update(dict2)
dict2 -- 添加到指定字典dict里的字典。
2)、刪除
(1)、del dict[key] 刪除鍵對應的條目

del dict['Name'] # 刪除鍵是'Name'的條目
del dict # 刪除字典

(2)、dict.clear() 清空字典所有條目
dict.clear() # 清空字典所有條目
(3)、dict.pop("key")
(4)、dict.popitem()隨機刪除

3)、修改
dict[key] = value;

4)、查找
(1)、get(key)
返回對應key的值
(2)、dic[key]
對應key的值
(3)、in
判斷字典里面存不存在這個key。
print('key' in dic ) # 有的話返回TRUE

(4)、dic.values()
查詢所有的values。
print(dic.values)

(5)、dic.keys()
查詢所有的key。
print(idic.keys())

5、內置函數

序號 函數 描述
1 cmp(dict1, dict2) 比較兩個字典元素。
2 len(dict) 計算字典元素個數,即鍵的總數。
3 str(dict) 輸出字典可打印的字符串表示。
4 type(variable) 返回輸入的變量類型,如果變量是字典就返回字典類型。

6、內置方法

序號 函數 描述
1 dict.clear() 刪除字典內所有元素
2 dict.copy() 返回一個字典的淺復制
3 dict.fromkeys(seq[, val]) 創建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值
4 dict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回default值
5 dict.has_key(key) 如果鍵在字典dict里返回true,否則返回false
6 dict.items() 以列表返回可遍歷的(鍵, 值) 元組數組
7 dict.keys() 以列表返回一個字典所有的鍵
8 dict.setdefault(key, default=None) 和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設為default
9 dict.update(dict2) 把字典dict2的鍵/值對更新到dict里
10 dict.values() 以列表返回字典中的所有值
11 pop(key[,default]) 刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。
12 popitem() 隨機返回并刪除字典中的一對鍵和值。
字典(Dictionary)——思維導圖
三、步驟

1、新建新建ex12.py文件。
2、錄入實例中代碼。
3、運行。

四、實例(Python 3.0+)
          
            #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__title__ = ''
__author__ = 'jungle'
__mtime__ = '2019-08-28'
"""
scores = {'語文': 89, '數學': 92, '英語': 93};
print(scores);# 空的花括號代表空的dict
empty_dict = {};
print(empty_dict);
# 使用元組作為dict的key
dict2 = {(20,30):'good', 30:'bad'};
print(dict2,dict2[20,30]);
# 使用關鍵字參數來創建字典
dict6 = dict(spinach = 1.39, cabbage = 2.59)
print(dict6) # {'spinach': 1.39, 'cabbage': 2.59}
#調用字典的值
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print( "dict['Name']: ", dict['Name']);
print( "dict['Age']: ", dict['Age']);

# 對不存在的key賦值,就是增加key-value對
scores['物理'] = 99;
print(scores.setdefault("化學",100));
print(scores) ;

# update把另一字典添加到一個字典
dict = {'Name': 'Zara', 'Age': 7}
dict2 = {'Sex': 'female' }
dict.update(dict2)
print("Value : %s" %  dict);

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print(dict);
# 刪除鍵是'Name'的條目
del dict['Name']
print(dict);
dict.clear()  # 清空字典所有條目
del dict  # 刪除字典

####字典的定義 key: value
info ={
    'stu1001':"TengLan Wu",
    'Stu1002':"Longze Loula",
    'stu1103':"XiaoZe Maliya",
}
#####查詢 字典的數據###############
#####查詢所有,但是字典是無序的
print(info);

#如果查詢一個只需要查詢對方的key
print(info["stu1001"]);

#不報錯方式查詢(安全點)
print(info.get("stu1001"));
#判斷字典里面存不存在這個key

print('stu1005' in info ); # 有的話返回TRUE

#查詢所有的values
print(info.values());

#查詢所有的key
print(info.keys());

print(dir(dict));

          
        
五、運行輸出:
          
            {'語文': 89, '數學': 92, '英語': 93}
{}
{(20, 30): 'good', 30: 'bad'} good
{'spinach': 1.39, 'cabbage': 2.59}
dict['Name']:  Zara
dict['Age']:  7
100
{'語文': 89, '數學': 92, '英語': 93, '物理': 99, '化學': 100}
Value : {'Name': 'Zara', 'Age': 7, 'Sex': 'female'}
{'Name': 'Zara', 'Age': 7, 'Class': 'First'}
{'Age': 7, 'Class': 'First'}
{'stu1001': 'TengLan Wu', 'Stu1002': 'Longze Loula', 'stu1103': 'XiaoZe Maliya'}
TengLan Wu
TengLan Wu
False
dict_values(['TengLan Wu', 'Longze Loula', 'XiaoZe Maliya'])
dict_keys(['stu1001', 'Stu1002', 'stu1103'])
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

          
        
注:

1、撰寫內容來源于個人收集的文獻,屬學術探究范疇。
2、版權屬于時進軍個人,轉載需注明。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 定日县| 剑河县| 吴桥县| 格尔木市| 富川| 资溪县| 城步| 会泽县| 凤城市| 克什克腾旗| 韶山市| 如皋市| 丰城市| 张家港市| 邹平县| 平远县| 沛县| 大邑县| 来安县| 类乌齐县| 武陟县| 达孜县| 铜鼓县| 高安市| 英山县| 葵青区| 信丰县| 益阳市| 岳阳县| 仙游县| 庆阳市| 佛教| 河东区| 鹤壁市| 开化县| 故城县| 涞源县| 南开区| 汶川县| 东兰县| 齐齐哈尔市|