zoukankan      html  css  js  c++  java
  • (4)python 字典

    创建字典

    phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

    以 value :key  键值对的格式。冒号前是键,冒号后时值 ,组合在一起是一项。多个项放在一个花括号内。

    函数dict()用来把其他项创建成一个字段

    >>> item = [('name', 'tom'), ('age', 17)]
    >>> d=dict(item)
    >>> d
    {'name': 'tom', 'age': 17}

    或者

    >>> d = dict(name='tom', age=17)
    >>> d
    {'name': 'tom', 'age': 17}

    len() 返回字段包含项的个数

    >>> len(d)
    2

    通过字典的键访问值

    >>> d['name']
    'tom'

    修改或增加一个项

    >>> d['age']=18
    >>> d
    {'name': 'tom', 'age': 18}
    >>> d['a']=33
    >>> d
    {'name': 'tom', 'age': 18, 'a': 33}

    删除一项

    >>> del d['a']
    >>> d
    {'name': 'tom', 'age': 18}

    检查字段是否有此键

    >>> 'age' in d
    True

    字典方法

    1.clear() 删除所有项

    2.copy() 返回一个新字典

    y=x.copy()

    修改值原字典不会受影响,替换值原字典会受到影响。

    遇到替换问题可以用深复制的方法--暂时不想了解

    3.fromkeys()

    创建一个新字典,每个键对应的值为None。

    >>> dd={}.fromkeys(['name','age'])
    >>> dd
    {'name': None, 'age': None}

    如果不行默认None

    >>> xx={}.fromkeys(['name','age'],'abc')
    >>> xx
    {'name': 'abc', 'age': 'abc'}

    4.get

    get和键访问一样。但是键访问没有的键会引发异常。get访问没有得键会返回None

    >>> xx['a']
    Traceback (most recent call last):
      File "<pyshell#78>", line 1, in <module>
        xx['a']
    KeyError: 'a'
    >>> xx.get('name')
    'abc'
    >>> xx.get('a')
    >>> 
    >>> 

    5.items

     返回一个字典视图

    >>> d
    {'y': 2, 'z': 3, 'a': 5}
    >>> d.items()
    dict_items([('y', 2), ('z', 3), ('a', 5)])

    6.keys

     返回一个只包含键的字典视图。值无重复

    >>> d
    {'y': 2, 'z': 3}
    >>> d.keys()
    dict_keys(['y', 'z'])

    7.pop

     方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除

    >>> d={'x':1,'y':2}
    >>> d.pop('x')
    1
    >>> d
    {'y': 2}

    8.popitem

    随机弹出一项,并返回弹出项

    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 6}
    >>> d.popitem()
    ('b', 6)
    >>> d
    {'y': 2, 'z': 3, 'a': 5}

    9.setdefault

    如果setdefault 参数对应的键在字典里无此键,则在字典添加这个键值。如果字典里有此键,则不更新

    >>> d
    {'y': 2, 'z': 3, 'a': 5}
    >>> d.setdefault('b',0)
    0
    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 0}
    >>> d['b']=8
    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 8}
    >>> d.setdefault('b',0)
    8
    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 8}

    10.update

    使用字典项来更新字典,没有的项会新增

    >>> d
    {'y': 2, 'z': 3, 'a': 2}
    >>> x={'a':5,'b':6}
    >>> d.update(x)
    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 6}
    >>> 

    11.values

      返回一个只包含值的字典视图。值有可能重复

    >>> d
    {'y': 2, 'z': 3, 'a': 2}
    >>> d.values()
    dict_values([2, 3, 2])
    >>> 
  • 相关阅读:
    :Spring + axis2 开发 webservice
    log file parallel write 和 log buffer space p1 p2 p3
    log file sync p1 p2 p3
    :Apache FTPClient操作“卡死”问题的分析和解决
    :Apache FTPClient操作“卡死”问题的分析和解决
    org.apache.catalina.LifecycleException: Failed to start component
    一个简单的Tk界面(可以录入和查询)
    函数调用子函数,注意子函数的位置
    Perl 采集磁盘信息
    Perl 使用Frame(放置其他控件的地方)
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/6850315.html
Copyright © 2011-2022 走看看