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仍然是字典;

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

  • 相关阅读:
    168. Excel Sheet Column Title
    171. Excel Sheet Column Number
    264. Ugly Number II java solutions
    152. Maximum Product Subarray java solutions
    309. Best Time to Buy and Sell Stock with Cooldown java solutions
    120. Triangle java solutions
    300. Longest Increasing Subsequence java solutions
    63. Unique Paths II java solutions
    221. Maximal Square java solutions
    279. Perfect Squares java solutions
  • 原文地址:https://www.cnblogs.com/yy-is-ing/p/3940441.html
Copyright © 2011-2022 走看看