激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python字典的基礎(chǔ)操作

Python字典的基礎(chǔ)操作

2022-02-22 00:07一碗周 Python

這篇文章主要介紹了Python字典的基礎(chǔ)操作,Python中的字典數(shù)據(jù)類型和現(xiàn)實中的字典很像,它是以鍵值對(鍵和值的組合)的方式把數(shù)據(jù)組織到一起,可以通過鍵找到與之對應的值并進行操作,下面來看文章金額提內(nèi)容吧,需要的朋友

1、字典的概念

Python中的字典數(shù)據(jù)類型和現(xiàn)實中的字典很像,它是以鍵值對(鍵和值的組合)的方式把數(shù)據(jù)組織到一起,可以通過鍵找到與之對應的值并進行操作。就跟字典中每次字(鍵)都會有對應的解釋(值)一樣,每個字和它的解釋合在一起就是字典中的一個條目,而字典中通常包含了很多個這樣的條目。

2、創(chuàng)建和使用字典

Python中創(chuàng)建字典使用{}字面量語法,這跟創(chuàng)建集合的符號是一樣的。但是字典的{}中的元素是以鍵值對的形式存在的,每個元素由:分隔的兩個值構(gòu)成,:前面是鍵:后面是值,每個對之間用逗號,分割語法格式,

具體語法格式如下:

?
1
dict = {key1 : value1, key2 : value2 }

2.1 創(chuàng)建字典

?
1
2
3
4
5
6
7
8
9
10
# 創(chuàng)建字典
dict1 = {"姓名": "甜甜"}
print(type(dict1), dict1)  # <class 'dict'> {'姓名': '甜甜'}
 
dict2 = {
    "姓名": "甜甜",
    "性別""女",
    "年齡": "19"
}
print(dict2)  # {'姓名': '甜甜', '性別': '女', '年齡': '19'}

使用dict()或者是字典的生成式語法來創(chuàng)建字典,示例代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 使用dict 創(chuàng)建對象,鍵不可以加""引號
dict1 = dict(姓名="甜甜", 性別="女", 年齡="19")
print(type(dict1), dict1)  # <class 'dict'> {'姓名': '甜甜', '性別': '女', '年齡': '19'}
 
list1 = ["姓名", "性別", "年齡"]
list2 = ["甜甜", "女", "19"]
# zip()函數(shù)將對象中對應的元素打包成一個個元組,返回由這些元組組成的對象
dict2 = dict(zip(list1, list2))
print(dict2)  # {'姓名': '甜甜', '性別': '女', '年齡': '19'}
 
 
# 使用生成列創(chuàng)建字典
dict3 = {x: x ** 3 for x in range(6)}
print(dict3)  # {0: 0, 1: 1, 2: 8, 3: 27, 4: 64, 5: 125}

可以使用len(dict)得到字典元素個數(shù),即鍵的總數(shù)

for循環(huán)也只能對鍵有效

?
1
2
3
4
5
6
7
8
9
10
dict1 = {'姓名': '甜甜', '性別': '女', '年齡': '19'}
print(len(dict1))  # 3
 
for ch in dict1:
    print(ch)
'''
姓名
性別
年齡
'''

3、字典的運算

對于字典來說,成員運算和索引(字典的索引是鍵值對中的鍵)運算是尤為重要的,前者可以判斷指定的鍵在不在字典中,后者可以得對應的值,或?qū)ζ溥M行修改或者新加。字典中的鍵必須是不變類型,例如整數(shù)(int)、浮點數(shù)(float)、字符串(str)、元組(tuple)等類型的值。字典本身也是可變類型

示例代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
dict1 = {'姓名': '甜甜', '性別': '女', '年齡': '19'}
 
# 成員運算
print("姓名" in dict1, "性別" not in dict1)  # True False
 
# 先判斷在修改
if "姓名" in dict1:
    dict1["姓名"] = '王甜甜'
    print(dict1)  # {'姓名': '王甜甜', '性別': '女', '年齡': '19'}
 
# 通過索引為dict1 增加數(shù)據(jù)
dict1["愛好"] = "旅游"
 
print("愛好" in dict1)  # True
 
 
# 對字典的鍵進行循環(huán)并通索引運算獲取鍵對應的值
for key in dict1:
    print(f'{key}: {dict1[key]}')
'''
姓名: 王甜甜
性別: 女
年齡: 19
愛好: 旅游
'''

注意:在通過索引運算獲取字典中的值時,如指定的鍵沒有在字典中,將會引發(fā)KeyError異常

3.1 字典的方法

字典的方法都是對鍵值對進行相關(guān)操作:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 字典的嵌套
students = {
    10001: {"name": "小明", "sex": "男", "age": 18},
    10002: {"name": "小紅", "sex": "女", "age": 16},
    10003: {"name": "小白", "sex": "女", "age": 19},
    10004: {"name": "小周", "sex": "男", "age": 20}
}
 
# 使用get方法通過鍵獲取對應的值,如果取不到是返回的默認值(默認為None)
print(students.get(10002))    # {'name': '小紅', 'sex': '女', 'age': 16}
print(students.get(10005))    # None
print(students.get(10005, "沒有這個學生"))    # 沒有這個學生
 
# 獲取字典中所有的鍵
print(students.keys())      # dict_keys([10001, 10002, 10003, 10004])
# 獲取字典中所有的值
print(students.values())    # dict_values([{...}, {...}, {...}, {...}])
# 獲取字典中所有的鍵值對
# dict_items([(10001, {...}), (10002, {....}), (10003, {...}), (10004, {...})])
print(students.items())
# 對字典中所有的鍵值對進行循環(huán)遍歷
for key, value in students.items():
    print(key, '--->', value)
 
# 使用pop方法通過鍵刪除對應的鍵值對并返回該值
stu1 = students.pop(10002)
print(stu1)             # {'name': '小紅', 'sex': '女', 'age': 16}
print(len(students))    # 3
# 如果刪除的不在字典中,會引發(fā)KeyError異常
# stu2 = students.pop(10005)    # KeyError: 10005
 
 
# 使用popitem方法刪除字典中最后一組鍵值對并返回對應的二元組
# 如果字典中沒有元素,調(diào)用該方法將引發(fā)KeyError異常
key, value = students.popitem()
print(key, value)    # 10004 {'name': '小周', 'sex': '男', 'age': 20}
 
# setdefault可以更新字典中的鍵對應的值或向字典中存入新的鍵值對
# setdefault方法的第一個參數(shù)是鍵,第二個參數(shù)是鍵對應的值
# 如果這個鍵在字典中存在,更新這個鍵之后會返回原來與這個鍵對應的值
# 如果這個鍵在字典中不存在,方法將返回第二個參數(shù)的值,默認為None
result = students.setdefault(10005, {"name": "小綠", "sex": "女", "age": 18})
print(result)        # {'name': '小綠', 'sex': '女', 'age': 18}
print(students)      # {10001: {...}, (10003, {...}), 10005: {...}}
 
# 使用update更新字典元素,相同的鍵會用新值覆蓋掉舊值,不同的鍵會添加到字典中
others = {
    10005: {"name": "小南", "sex": "男", "age": 19},
    10006: {"name": "小北", "sex": "男", "age": 19},
    10007: {"name": "小冬", "sex": "男", "age": 19}
}
students.update(others)
# {10001: {...}, 10003: {...}, 10005: {...}, 10006: {...}, 10007: {...}}
print(students)

到此這篇關(guān)于Python字典的基礎(chǔ)操作的文章就介紹到這了,更多相關(guān)Python字典內(nèi)容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/7022995510562652167

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品国产乱码久久久久久久久 | 黄色片网站在线播放 | 久久艹艹艹 | 久久新地址 | 99影视电影电视剧在线播放 | 久久手机在线视频 | 久久精品黄 | 成人精品免费看 | 欧美性生活免费视频 | 国产精品久久久久久久久久久久久久久久 | 91社区电影 | 看片一区二区三区 | 一级大片一级一大片 | 久成人 | h色视频在线观看 | 日韩精品一区二区三区中文 | 久久久久久久久久久高潮一区二区 | 在线看免费观看日本 | 嫩呦国产一区二区三区av | 男人的天堂色偷偷 | 成人免费电影在线观看 | 成人福利在线视频 | 成人午夜高清 | 快播av在线 | 国产91影院 | 在线观看一区二区三区四区 | 亚洲嫩草av| 在线免费观看毛片视频 | 久久精品成人影院 | 国产黄色一区二区 | 欧美黄色性视频 | 天天草天天干天天射 | 欧美色性 | 一级毛片免费电影 | 日本a∨精品中文字幕在线 国产精品片www48888 | 特大黑人videos与另类娇小 | 一区二区三区视频播放 | 免费视频a | 亚洲最大久久 | 精品免费久久 | 久久久人成影片一区二区三区 |