字典类型

发布时间 2023-11-28 20:41:06作者: 柚见42

【4.0】字典类型(dict)

【1】作用

  • 如果我们需要用一个变量记录多个值,但多个值是不同属性的
    • 比如人的姓名、年龄、身高,用列表可以存,但列表是用索引对应值的,而索引不能明确地表示值的含义
  • 这就用到字典类型,字典类型是用key:value形式来存储数据
    • 其中key可以对value有描述性的功能,能够明确的描述详细信息

【2】定义

  • 大括号括起来,内部可以存放多个元素,元素与元素之间使用逗号隔开,是以K:V键值对的形式存储
    • K:
      • 是对V的描述性信息(一般情况是字符串)
    • V:
      • 真正的数据,其实相当于变量值,也是任意的数据类型
person_info = {'name': 'Dream', 'age': 18, 'height': 185.3, 'hobby': ["动漫", "小说"]}
print(person_info)  # {'name': 'Dream', 'age': 18, 'height': 185.3, 'hobby': ['动漫', '小说']}
print(type(person_info))  # <class 'dict'>

【3】使用

(1)字典取值(键取值)

  • 字典不能通过索引取值,只能通过字典的K取值
person_info = {'name': 'Dream', 'age': 18, 'height': 185.3, 'hobby': ["动漫", "小说"]}

# 字典取值(键取值)
name = person_info['name']
print(name)  # 输出结果:Dream

age = person_info['age']
print(age)  # 输出结果:18

(2)字典嵌套及取值

info = {
    'name': 'fyc',
    'addr': {
        '国家': '中国',
        'info': [666, 999, {'编号': 466722, 'hobby': ['read', 'study', 'music']}]
    }
}

name = info['name'] 
# name取的是info里面的name

country = info['addr']['国家']  
# country取的是info里面的addr的国家

number = info['addr']['info'][2]['编号']
# number取的是info里面的addr里面的info排列第二个里面的编号
# 注:这里第一个info是字典,第二个info是列表

hoppy = info['addr']['info'][2]['hobby'][0]

Lucky_number = info['addr']['info'][0]
# 取值
print(f"我的名字是 {name} 我的国家是 {country} 我的编号是{number} 我的爱好是{hoppy} 我的幸运数字是{Lucky_number}")