常见数据类型(二)

字典 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'的数据,运行结果如下图

常见数据类型(二)_第1张图片

字典与列表多层嵌套的解决方式

 问题如下:请在以下代码中取出睢阳区

data = {
    '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
常见数据类型(二)_第2张图片
  • 最后dict4是一个列表,有两个元素,索引取值睢阳区赋值给add_name,这样输出最后的add_name就可以得到想要的‘睢阳区’
常见数据类型(二)_第3张图片

上述访问“睢阳区”的步骤太繁琐了,可以整合以下上述步骤的一系列操作

方式二:直接采取多重访问和索引取值的方式

      add_name = data['add']['河南']['商丘'][0]  # 从前往后依次访问取值
      # 依次是访问data(字典)里的add(字典)的河南(字典)的商丘(列表)的睢阳区

也可以得到相同的运行结果

常见数据类型(二)_第4张图片

不常用数据类型

集合 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)  # 输出该元组

运行结果:

常见数据类型(二)_第5张图片
然后对元组内数据进行更改,代码: ```python t1 = (11, 22, 33) # 定义一个元组t1 t1[1] = 117 # 对元祖内的第二个数据进行更改 print(t1) # 输出该元组 ``` 运行结果:
常见数据类型(二)_第6张图片

更改信息以后代码不能运行了,并且报错信息为“'tuple' object does not support item assignment”,意为元组项目内容不支持元素更改。

布尔值

  1. 布尔值只有 True 和 False 两种状态
  2. 用来描述事物是否可行、对错的,主要用于逻辑判断
  3. 所有的数据在python中进行逻辑判断是都会被转换成布尔值
    0  None 空列表、空字符串、空字典……默认布尔值都是False
    其余情况都是True
    涉及布尔值的变量名命名一般用is开头 
    例:is_right = True
常见数据类型(二)_第7张图片

你可能感兴趣的:(常见数据类型(二))