• Python成长之路第一篇(3)_初识字典


    经过上章的学习我们已经了解到了列表可以通过索引来获取对应的值,在本章我们将学到通过名字来索引数据,这种结构的类型称之为映射(maooing),在Python中字典是唯一内建的映射类型,其中的值我们称之为键值对,也就是由(键,值)组成映射关系。

    一、初识字典dict

    字典这个名称已经给出了有关这个数据结构功能的一些提示,在某些情况下字典比列表更实用,比如我们要纯粹人的姓名和电话,我们就可以通过姓名找到电话

       (1)字典的创建和使用

    创建一个字典并且查看它的类型

    >>> dic = {'a':'123','b':'1234','c':'12345', 'd':'123456'}
    >>> type(dic)
    <class 'dict'>

    当我们想要查看b下面的数字的时候我我就这么操作,请注意单引号

    >>> dic['b']
    '1234'

    (2)dict函数类似于list等

    我们可以通过dict函数来通过其他映射关系的序列来创建字典

    >>> tram = [('name','ala'),('aga','50')]

    >>> d = dict(tram)
    >>> d
    {'name': 'ala', 'aga': '50'}

    二、字典的基本操作

    字典的基本操作很多方面与序列类型

    (1)返回字典的长度,字典是以一个键值对当做一个元素

    >>> d
    {'name': 'ala', 'aga': '50'}
    >>> len(d)
    2

    (2)更改键的值

    >>> d
    {'name': 'ala', 'aga': '50'}

    >>> d['name']='xiao'
    >>> d
    {'name': 'xiao', 'aga': '50'}

    (3)删除键值对

    >>> del d['name']
    >>> d
    {'aga': '50'}

    (4)检查字典中是否包含键为xxx的项如果有返回True否则False

    >>> 'aga' in d
    True

    >>> 'da' in d
    False

    (5)字典的特性

    ①键的类型,可以是任何不可改变的类型

    ②自动添加,即使键是不存在的我们可以给他添加进入字典,而不需要使用append的方法

    ③成员资格,当查找当前键是否存在于此字典中这个的效率要比在列表中查找更高效

    1、键的类型,键可以为数字类型浮点型等的

    >>> s = {}
    >>> s[20] = 'aaaa'
    >>> s
    {20: 'aaaa'}

    >>> s[20.22]= 'bbb'
    >>> s
    {20.22: 'bbb', 20: 'aaaa'}

    字典示例

    以员工名字作为键,他的值为另外的字典,包含员工编号number和电话phone

    address = {     'a':{        'number':'01',        'phone':'110'     },     'b':{        'number':'02',        'phone':'119'     },     'c':{        'number':'03',        'phone':'120'     }
    }
    当我们要查询b的编号时我们就要这么查询:表示address下键值对b下的键为number的值
    print(address['b']['number'])
    02
    小练习1
    需求:根据用户输入的用户名称得到用户的编号和电话
    实现功能简陋的代码如下(Python3.5环境):
    address = {     'a':{        'number':'01',        'phone':'110'     },     'b':{        'number':'02',        'phone':'119'     },     'c':{        'number':'03',        'phone':'120'     }
    }
    inpu = input("请输入查询的用户名:")
    print("当前用户:"+inpu)
    print('用户编号是:'+address[inpu]['number'])
    print('用户电话是:'+address[inpu]['phone'])
  • 相关阅读:
    使用 Jbulider 开发 J2ME 移动游戏程序
    JDBC的数据库事务
    oracle 常用命令大汇总
    Oracle数据库几种启动方式
    分析Oracle数据库日志文件(1)
    SugarCRM 去掉 header 应用程序 下拉菜单
    SugarCRM 去掉左边快捷保存菜单
    SugarCRM 指定模块显示左边快捷方式
    SugarCRM 左边菜单全部去掉
    SugarCRM 去掉header头部的查找功能
  • 原文地址:https://www.cnblogs.com/bj-xy/p/5180010.html
Copyright © 2020-2023  润新知