'''形式是用花括号括起来的多个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 = { 'name': 'oliver', 'age': 18, 'hobby': 'games', 'add': {'河南': {'郑州': '金水', '开封': '中牟', '商丘': [ '睢阳区', '梁园区' ] }, '湖北': '武汉'} }解释:乍一看这个代码符号很多,有列表类数据,也有字典类数据。接下来我们先来逐层拆解
dict1 = data['add'] # 取键add对应的值{'河南': {'郑州': '金水', '开封': '中牟', '商丘': ['睢阳区', '梁园区'}, '湖北': '武汉'} dict2 = dict1['河南'] # 索键河南对应的值 {'郑州': '金水', '开封': '中牟', '商丘': ['睢阳区', '梁园区']} dict3 = dict2['商丘'] # 取键商丘对应的值['睢阳区', '梁园区'] add_name = dict3[0] # 索引取值'睢阳区'方式一:我们可以从外向内逐级拆解。


上述访问“睢阳区”的步骤太繁琐了,可以整合以下上述步骤的一系列操作
方式二:直接采取多重访问和索引取值的方式
add_name = data['add']['河南']['商丘'][0] # 从前往后依次访问取值 # 依次是访问data(字典)里的add(字典)的河南(字典)的商丘(列表)的睢阳区也可以得到相同的运行结果

这种类型的数据功能单一,主要被用于去重和关系运算
具体形式: 1. 用花括号括起来 2. 内部可以存放多个任意类型元素 3. 并且元素之间用逗号分隔开 4. 与字典不同的是其内部元素不是K:V键值对 例:set_name = {1, 2, 'ok', 3.33}附与字典类型数据相似,当花括号里为空时,默认为是字典类型数据
元组与列表几乎一致,只不过形式的外部括号列表是中括号,元组是小括号。而且元组内的元素不可以更改。
具体形式: 1. 小括号括起来 2. 内部可储存多个任意类型元素 3. 元素之间用逗号隔开 例:t = (1,2,3,4.5,'kk')附:元组内元素不可更改的解释
先不对元祖内数据进行更改,代码:
t1 = (11, 22, 33) # 定义一个元组t1 print(t1) # 输出该元组运行结果:


更改信息以后代码不能运行了,并且报错信息为“'tuple' object does not support item assignment”,意为元组项目内容不支持元素更改。
0 None 空列表、空字符串、空字典……默认布尔值都是False 其余情况都是True 涉及布尔值的变量名命名一般用is开头 例:is_right = True