zoukankan      html  css  js  c++  java
  • python常用操作(一) 字典操作

    1、从字典中取值:

    1 mydict = {"key" : "value"}
    2 #使用get方法
    3 val = mydict.get("key")
    4 # val --> 'value'
    1 mydict.get("if_key_not_in_dict", "default value")
    2 #--> 'default value'
    3 #并没有改变原dict
    4 #mydict --> {"key":"value"}

    2、给字典增加一个条目:

     1 >>> mydict = {'key':'value'}
     2 >>> mydict
     3 {'key': 'value'}
     4 >>> mydict.setdefault('newkey', 'newvalue')
     5 'newvalue'
     6 >>> mydict
     7 {'newkey': 'newvalue', 'key': 'value'}
     8 >>> mydict.setdefault('foo',[]).append(1)
     9 >>> mydict
    10 {'newkey': 'newvalue', 'foo': [1], 'key': 'value'}
    11 >>> mydict.setdefault('foo',[]).append(2)
    12 >>> mydict
    13 {'newkey': 'newvalue', 'foo': [1, 2], 'key': 'value'}

    3、快速创建字典的方法:

    #1、使用内建方法dict
    >>> data = dict(a=1, b=2, c=3)
    >>> data
    {'a': 1, 'c': 3, 'b': 2}
    >>> keys = ['a', 'b', 'c']
    >>> values = [1, 2, 3]
    #当键和值都为序列时,使用zip方法
    #zip方法返回一个数对(key,value)构成的列表
    >>> zip(keys, values)
    [('a', 1), ('b', 2), ('c', 3)]
    >>> mydict = dict(zip(keys, values))
    >>> mydict
    {'a': 1, 'c': 3, 'b': 2}

    4、交替列表里元素作为键和值来创建字典:

    >>> mylist = ['a', 1, 'b', '2', 'c', 3]
    #间隔取元素
    >>> mylist
    ['a', 1, 'b', '2', 'c', 3]
    >>> mylist[::2]
    ['a', 'b', 'c']
    >>> mylist[1::2]
    [1, '2', 3]
    #使用zip方法
    >>> zip(mylist[::2], mylist[1::2]) [('a', 1), ('b', '2'), ('c', 3)] >>> dict(zip(mylist[::2],mylist[1::2]))
    #创建字典 {
    'a': 1, 'c': 3, 'b': '2'}

    5、获取一个字典的子集:

    >>> def sub_dict(somedict, somekeys, default=None):
    ...     return dict([(k, somedict.get(k, default)) for k in somekeys])
    ... 
    >>> d = {'a':1, 'b':2, 'c':3}
    >>> sub_dict(d, 'ab')
    {'a': 1, 'b': 2}

    6、反转字典:

    >>> dict([(v,k) for k,v in d.iteritems()])
    {1: 'a', 2: 'b', 3: 'c'}
  • 相关阅读:
    敏捷开发方法综述
    RBAC权限控制系统
    Thinkphp 视图模型
    Thinkphp 缓存和静态缓存局部缓存设置
    Thinkphp路由使用
    Thinkphp自定义标签
    异步处理那些事
    Thinkphp 关联模型
    Thinkphp 3.1. 3 ueditor 1.4.3 添加水印
    数据库组合
  • 原文地址:https://www.cnblogs.com/thinbottle/p/3011833.html
Copyright © 2011-2022 走看看