字典類型


一、字典(dict)

如果現在有個需求需要存我的信息,通過我們之前學習的數據類型,只有列表能夠存儲我們的信息。

user_info = ['nick', 'male', '19', ['oldboy', 'shanghai', 50]]

print(user_info[1])  # 'male'
print(user_info[0])  # 'nick'
print(user_info[3][1])  # 'shanghai'
male
nick
shanghai

使用列表雖然達到了我們的目的,但是我們能通過列表取值的時候,是基於我們已經知道了列表內部所有的元素。因此我們是不是可以給列表內的每一個元素都添加一個描述信息呢?否則如果不是存我的信息,而是用列表存取了成千上萬個值,那么我們怎么通過索引精准取值呢?這樣看起來好像是不可能的,因此可以使用新的數據類型——字典。

1.1 作用

用來存取多個值,按照key:value的方式存值,取的時候可以通過key而非索引去取值,key對value具有描述性的作用。存放數據的種類各種各樣並且數據較多的時候可以使用字典。

1.2 定義

在{}內用逗號分隔開多個元素,每一個元素都是key: value的格式,其中value是任意格式的數據類型,key由於具有描述性的作用,所以key通常是字符串類型。

user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
             'company_info': ['oldboy', 'shanghai', 50]}

print(id(user_info))
print(type(user_info))
print(user_info)
4396183344
<class 'dict'>
{'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]}

1.3 如何用

字典取值方式不再依賴於索引,而是依賴於key,通過[key]即可獲取key對應的value值。

# 字典套列表
user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
             'company_info': ['oldboy', 'shanghai', 50]}
print(user_info['name'])
print(user_info['company_info'][0])
nick
oldboy
# 字典套字典
user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': {
    'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50}}

print(user_info['name'])
print(user_info['company_info']['c_name'])
nick
oldboy

二、練習

取出students中第一個學生的姓名

students = [
    {'name': 'nick', 'age': 19},
    {'name': 'egon', 'age': 18}
]
print(students[0]['name'])
nick


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM