zoukankan      html  css  js  c++  java
  • Python-字典

    >>> D = {'spam': 2, 'ham': 1, 'eggs': 3}

    >>> list(D.keys())

    ['eggs', 'ham', 'spam']

    >>> list(D.values())

    [3, 1, 2]

    >>> list(D.items())

    [('eggs', 3), ('ham', 1), ('spam' ,2)]

    查看字典的key内容,必须用list

    注意,字典内根据key,自动进行排序

    ============================================

    >>> D['brunch'] = 'Bacon'

    >>> D

    {'brunch': 'Bacon', 'spam': 2, 'ham': 1, 'eggs': 3}

    添加新的内容,可以直接添加;

    >>> D['brunch'] = 'Canon'

    >>> D

    {'brunch': 'Canon', 'spam': 2, 'ham': 1, 'eggs': 3}

    修改key内容
    ============================================

    >>> D.get('spam')

    2

    >>> D.get('toast')

    >>> print(D.get('toast'))

    None

    >>> D.get('toast', 88)

    88

    如果key不存在时,直接通过.get方式是不会有任何返回值,print出来的结果只是None;

    用户可以自己设定默认值,以避免出现missing-key的情况下,可能出现的错误

    ============================================

    >>> D2 = {'toast': 4, 'brunch': 'Bacon'}

    >>> D.update(D2)

    >>> D

    {'toast':4, 'brunch': 'Bacon', 'spam': 2, 'ham': 1, 'eggs': 3}

    字典更新字典(可增加key,可更新key)

    >>> D.pop('toast')

    4

    >>> D

    {'brunch': 'Bacon', 'spam': 2, 'ham': 1, 'eggs': 3}

    pop函数,可用于去除key
    ============================================

    创建字典的四种方式

    {'name' : 'mel', 'age' : 45}      适用于一次性拼出整个字典

    D={}                 适用于一次动态的建立字典的一个字段

    D['name']='mel'

    D['age'] = 45

    dict(name='mel', age=45)      适用于key都是字符串的情况

    dict([('name', 'mel'),  ('age', 45)])  适用于想要在程序运行时,把key与value逐步建成序列
    ============================================

    >>> D = {k:v for (k, v) in zip(['a','b','c'], [1,2,3])}

    >>> D

    {'a': 1, 'c': 3, 'b': 2}

    注意:如果在zip中,键(key)与值(value)的位数不同,则选择少的一个组建,不会自动补填;

    =============================================

    >>> D = dict.fromkeys(['a', 'b', 'c'], 0)      #Initialize dict from keys

    >>> D

    {'a':0, 'c':0, 'b':0}

    >>> D = dict.fromkeys('spam')          #Other iterators, default value

    >>> D

    {'a': None, 'p': None, 's':None, 'm': None}

    =============================================

    字典创建后,可以进行动态的反应在视图对象创建之后对字典做出的修改:

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

    >>> D

    {'a': 1, 'c': 3, 'b': 2}

    >>> K = D.keys()

    >>> V = D.values()

    >>> list(K)

    ['a', 'c', 'b']

    >>> list(V)

    [1, 3, 2]

    >>> del D['b']

    >>> D

    ['a' : 1, 'c': 3]

    >>> list(K)

    ['a', 'c']

    >>> list(V)

    [1, 3]

    =========================================

    >>> E = D.items() | {('c', 3), ('d', 4)}

    {('a', 1), ('d', 4), ('c', 3)}              # Set of key/value pairs, not set anymore

    >>> F = dict(D.items() | {('c', 3), ('d', 4)})

    {'a': 1, 'c': 3, 'd': 4}                # dict accepts iterable sets too

    E已经变成集合,非字典,而F仍然是字典;

    =========================================

  • 相关阅读:
    xgboost
    GBDT 梯度提升决策树简述
    minimal pairs
    Describe your hometown
    英语短句
    英汉翻译
    英语音译词
    power的读音
    英语口语(英语词根与单词的说文解字(李平武 2008版)读书笔记)
    Jar包转成Dll的方式(带嵌套的jar也能做)
  • 原文地址:https://www.cnblogs.com/yy-is-ing/p/3940441.html
Copyright © 2011-2022 走看看