字典類型

1、字典(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

使用列表雖然達到了咱們的目的,可是咱們能經過列表取值的時候,是基於咱們已經知道了列表內部全部的元素。所以咱們是否是能夠給列表內的每個元素都添加一個描述信息呢?不然若是不是存個人信息,而是用列表存取了成千上萬個值,那麼咱們怎麼經過索引精準取值呢?這樣看起來好像是不可能的,所以可使用新的數據類型——字典。spa

1.1 做用

用來存取多個值,按照key:value的方式存值,取的時候能夠經過key而非索引去取值,key對value具備描述性的做用。存放數據的種類各類各樣而且數據較多的時候可使用字典。code

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

2、練習

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

students = [
    {'name': 'nick', 'age': 19},
    {'name': 'egon', 'age': 18}
]
print(students[0]['name'])
nick
相關文章
相關標籤/搜索