zoukankan      html  css  js  c++  java
  • Python学习进程(10)字典

        本节介绍Python中的字典:是另一种可变容器模型,且可存储任意类型对象

        (1)字典简介:

        字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    d = {key1 : value1, key2 : value2 }

        注意:键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

        (2)字典的操作:

        包括创建字典、访问字典元素、修改字典的值、删除字典指定元素,删除字典:

    Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    #1.创建字典:
    >>> dic={'name':'MenAngel','age':19,'sex':''};
    >>> print dic
    {'age': 19, 'name': 'MenAngel', 'sex': 'xc4xd0'}
    #2.修改字典中元素
    >>> dic['name']='sunjimeng'
    #3.访问字典中指定元素
    >>> print dic
    {'age': 19, 'name': 'sunjimeng', 'sex': 'xc4xd0'}
    >>> dic['name']
    'sunjimeng'
    >>> dic
    {'age': 19, 'name': 'sunjimeng', 'sex': 'xc4xd0'}
    #4.删除字典中指定元素
    >>> del dic['sex']
    >>> dic
    {'age': 19, 'name': 'sunjimeng'}
    #5.删除字典中所有元素
    >>> dic.clear()
    >>> dic
    {}
    #6.删除字典
    >>> del dic

        (3)字典键的特性:

        注意:字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

        1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住:

        2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行:

    Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> dic={'name':'MenAngel','age':19,'name':'sunjimeng'}
    >>> dic
    {'age': 19, 'name': 'sunjimeng'}
    #键可以用数字,字符串,可以用元组
    >>> dic[4]=346 >>> dic {'age': 19, 4: 346, 'name': 'sunjimeng'} >>> dic[('abc',20)]='sex' >>> dic {('abc', 20): 'sex', 'age': 19, 4: 346, 'name': 'sunjimeng'}
    #但不能用列表
    >>> dic[[20,]]=20 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'

        (4)字典内置函数或方法:

        1)字典内置函数:

    #1.第一种字典初始化方式:
    >>> dic1={}
    >>> dic1['name']='MenAngel';
    >>> dic1['age']=20;
    >>> dic1['sex']='';
    #2.第二种字典初始化方式
    >>> dic2={'name':'MenAngel','age':20,'sex':'']
    >>> dic1
    {'age': 20, 'name': 'MenAngel', 'sex': 'xc4xd0'}
    >>> dic2
    {'age': 20, 'name': 'MenAngel', 'sex': 'xc4xd0'}
    >>> cmp(dic1,dic2)
    0
    >>> len(dic1)
    3
    >>> str(dic1)
    "{'age': 20, 'name': 'MenAngel', 'sex': '\xc4\xd0'}"
    >>> type(dic1)
    <type 'dict'>

        2)Python字典的内置方法:

     

    >>> dict1={'age': 20, 'name': 'MenAngel', 'sex': 'xc4xd0'}
    >>> dict2=dict1.copy()
    >>> list1=dict1.keys()
    >>> list2=dict1.values()
    >>> dict1.has_key('name')
    True
    >>> dict1,dict2
    ({'age': 20, 'name': 'MenAngel', 'sex': 'xc4xd0'}, {'age': 20, 'name': 'MenAngel', 'sex': 'xc4xd0'})
    >>> list1,list2
    (['age', 'name', 'sex'], [20, 'MenAngel', 'xc4xd0'])
    >>> dict1['name']='sunjimeng'
    >>> dict1,dict2
    ({'age': 20, 'name': 'sunjimeng', 'sex': 'xc4xd0'}, {'age': 20, 'name': 'MenAngel', 'sex': 'xc4xd0'})
    >>> dict1.update(dict2)
    >>> dict1,dict2
    ({'name': 'MenAngel', 'age': 20, 'sex': 'xc4xd0'}, {'age': 20, 'name': 'MenAngel', 'sex': 'xc4xd0'})
    >>> dict.setdefault('abc','123')
    20
    >>> dict1.setdefault('abc','123')
    '123'
    >>> dict1.setdefault('abc','456')
    '123'
    >>> dict1.items()
    [('abc', '123'), ('name', 'MenAngel'), ('age', 20), ('sex', 'xc4xd0')]
  • 相关阅读:
    阿里云配置学习
    华为机试练习代码
    微信公众号开发
    给div加滚动条
    Nolia 给CC添加过滤器
    算法理解
    Jquery常用功能
    day 2Linux软件从主机安装到服务器和安装JDK软件
    10月11 一些小的东西
    9月30 json工具类
  • 原文地址:https://www.cnblogs.com/MenAngel/p/5694725.html
Copyright © 2011-2022 走看看