zoukankan      html  css  js  c++  java
  • python之字典一

    字典的定义:     

    前面我们说过列表,它适合于将值组织到一个结构中并且通过编号对其进行引用。字典则是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(key)下,键可以是数字、字符串甚至元组。字典也是python中唯一内建的映射类型。

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

    d = {key1 : value1, key2 : value2 }

    可以用dict函数通过关键字的参数来创建字典:

    >>> d = dict (name='wzw',age= 22)
    >>> d
    {'name': 'wzw', 'age': 22}

    键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

    >>> dict = {'a': 1, 'b': 2, 'b': '3'}
    >>> dict
    {'a': 1, 'b': '3'}

    访问字典中的值:

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    print( "dict['Name']: ", dict['Name'])
    print( "dict['Age']: ", dict['Age'])
    运行结果:
    [python@master tmp]$ python3 a.py 
    dict['Name']:  Zara
    dict['Age']:  7

    修改字典中的值:

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
     
    print( "dict['Age']: ", dict['Age'])
    修改健值 dict[
    'Age']=10 print( "dict['Age']: ", dict['Age']) 新增健值 dict['school']='henan school' print(dict) 运行结果: [python@master tmp]$ python3 a.py dict['Age']: 7 dict['Age']: 10 {'Name': 'Zara', 'Age': 10, 'Class': 'First', 'school': 'henan school'}

    删除字典元素:

    能删单一的元素也能清空字典,清空只需一项操作。显示删除一个字典用del命令

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    del dict['Name']; # 删除键是'Name'的条目
    print(dict)
    dict.clear();     # 清空词典所有条目
    print(dict)
    del dict ;        # 删除词典
    运行结果:
    [python@master tmp]$ python3 b.py
    {'Age': 7, 'Class': 'First'}
    {}

    字典的特性:

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

    两个重要的点需要记住:

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

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

    字典和列表的区别:
         a. 字典的键可以是任意的不可变类型
         b. 成员资格查找时查找的时键而不是值
         c. 即使键起初不存在也可以为它直接赋值,字典会自动添加新的项
         d. 字典是不可修改的

    字典的内置函数

    cmp(dict1, dict2)  #比较两个字典元素。 --这个是python2.x中的比较 在python3中 已经没有cmp函数,被operator模块代替
    len(dict)          #计算字典元素个数,即键的总数。
    str(dict)          #输出字典可打印的字符串表示。
    type(variable)     #返回输入的变量类型,如果变量是字典就返回字典类型。

    内置函数Operator()

    import operator  #首先要导入运算符模块
    operator.gt(1,2) #意思是greater than(大于)
    operator.ge(1,2) #意思是greater and equal(大于等于)
    operator.eq(1,2) #意思是equal(等于)
    operator.le(1,2) #意思是less and equal(小于等于)
    operator.lt(1,2) #意思是less than(小于)
    例子:
    import operator
    dict1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    dict2 = {'Name': 'Zara', 'Age': 8, 'Class': 'First'}
    result=operator.eq(dict1,dict2)
    print (result)
    结果:
    [python@master tmp]$ python3 b.py
    False
    函数的返回值是布尔值

    内置函数len()

    dict1 = {'Name': 'Zara', 'Age': 8, 'Class': 'First'}
    lenth=len(dict1)
    print (lenth)
    结果:
    [python@master tmp]$ python3 b.py 
    3

    内置函数str()

    dict1 = {'Name': 'Zara', 'Age': 8, 'Class': 'First'}
    lenth=str(dict1)
    print (lenth)
    结果:
    [python@master tmp]$ python3 b.py 
    {'Name': 'Zara', 'Age': 8, 'Class': 'First'}

    内置函数type()

    dict1 = {'Name': 'Zara', 'Age': 8, 'Class': 'First'}
    lenth=type(dict1)
    print (lenth)
    结果:
    [python@master tmp]$ python3 b.py 
    <class 'dict'>

    今天的你,是否充满活力?

  • 相关阅读:
    序列JSON数据和四种AJAX操作方式
    jquery.validate和jquery.form.js实现表单提交
    JQuery Validate使用总结1:
    HOWTO: Include Base64 Encoded Binary Image Data (data URI scheme) in Inline Cascading Style Sheets (CSS)(转)
    SharePoint 2007 使用4.0 .Net
    动态IP解决方案
    取MS CRM表单的URL
    从Iframe或新开的窗口访问MS CRM 2011(转)
    Toggle or Hidden MS CRM Tab
    Windows 2008下修改域用户密码
  • 原文地址:https://www.cnblogs.com/hello-wei/p/9523931.html
Copyright © 2011-2022 走看看