常见数据类型(二)

字典 dict 字典是能够精准储存信息的数据类型

'''形式是用花括号括起来的多个K:V键值对。键值对之间用逗号隔开 K;V键值对里的V是指任意类型的真实数据,K是对V的描述性信息,一般是字符串 ''' 例如:info = { 'user_name':'oliver','age':23, 'hobby':'games', 'job':'student'} '''其中user—name、age、hobby、job是K键,而oliver、23、games、 student是V的真实数据'''

附:词典内部的元素是无序的,所以无法进行索引取值。我们想访问词典里的信息的时候可以通过K键进行访问。例:name_info = info['age']
info = {'user_name':'oliver', 'age': 23, 'hobby': 'game', 'job': 'student'} name_info = info['age'] print(name_info)
以上代码就是访问列表info里的K键为'age'的数据,运行结果如下图
常见数据类型(二)
文章图片
字典与列表多层嵌套的解决方式
?问题如下:请在以下代码中取出睢阳区
data = https://www.it610.com/article/{'name': 'oliver', 'age': 18, 'hobby': 'games', 'add': {'河南': {'郑州': '金水', '开封': '中牟', '商丘': [ '睢阳区', '梁园区' ] }, '湖北': '武汉'} }

解释:乍一看这个代码符号很多,有列表类数据,也有字典类数据。接下来我们先来逐层拆解
dict1 = data['add']# 取键add对应的值{'河南': {'郑州': '金水', '开封': '中牟', '商丘': ['睢阳区', '梁园区'}, '湖北': '武汉'} dict2 = dict1['河南']# 索键河南对应的值 {'郑州': '金水', '开封': '中牟', '商丘': ['睢阳区', '梁园区']} dict3 = dict2['商丘']# 取键商丘对应的值['睢阳区', '梁园区'] add_name = dict3[0]# 索引取值'睢阳区'

方式一:我们可以从外向内逐级拆解。
  • 第一步观察data这个大的字典内有4个K:V键值对元素:获取add的数据赋给dict1
  • 然后我们观察这个dict1里有两个键值对元素:获取河南的数据赋值给dict2
  • 然后观察dict2里有三个键值对元素,获取商丘的数据赋值给dict3
常见数据类型(二)
文章图片
  • 最后dict4是一个列表,有两个元素,索引取值睢阳区赋值给add_name,这样输出最后的add_name就可以得到想要的‘睢阳区’
常见数据类型(二)
文章图片
上述访问“睢阳区”的步骤太繁琐了,可以整合以下上述步骤的一系列操作
方式二:直接采取多重访问和索引取值的方式
add_name = data['add']['河南']['商丘'][0]# 从前往后依次访问取值 # 依次是访问data(字典)里的add(字典)的河南(字典)的商丘(列表)的睢阳区

也可以得到相同的运行结果
常见数据类型(二)
文章图片
不常用数据类型 集合 set
这种类型的数据功能单一,主要被用于去重和关系运算
具体形式: 1. 用花括号括起来 2. 内部可以存放多个任意类型元素 3. 并且元素之间用逗号分隔开 4. 与字典不同的是其内部元素不是K:V键值对 例:set_name ={1, 2, 'ok', 3.33}

附与字典类型数据相似,当花括号里为空时,默认为是字典类型数据
元组 tuple
元组与列表几乎一致,只不过形式的外部括号列表是中括号,元组是小括号。而且元组内的元素不可以更改。
具体形式: 1. 小括号括起来 2. 内部可储存多个任意类型元素 3. 元素之间用逗号隔开 例:t = (1,2,3,4.5,'kk')

附:元组内元素不可更改的解释
先不对元祖内数据进行更改,代码:
t1 = (11, 22, 33)# 定义一个元组t1 print(t1)# 输出该元组

运行结果:
常见数据类型(二)
文章图片
然后对元组内数据进行更改,代码: ```python t1 = (11, 22, 33) # 定义一个元组t1 t1[1] = 117 # 对元祖内的第二个数据进行更改 print(t1) # 输出该元组 ``` 运行结果: 常见数据类型(二)
文章图片
【常见数据类型(二)】更改信息以后代码不能运行了,并且报错信息为“'tuple' object does not support item assignment”,意为元组项目内容不支持元素更改。
布尔值
  1. 布尔值只有 True 和 False 两种状态
  2. 用来描述事物是否可行、对错的,主要用于逻辑判断
  3. 所有的数据在python中进行逻辑判断是都会被转换成布尔值
0None 空列表、空字符串、空字典……默认布尔值都是False 其余情况都是True 涉及布尔值的变量名命名一般用is开头 例:is_right = True

常见数据类型(二)
文章图片

    推荐阅读