• 使用字典


    一。字典

        字典由键以及相应的值组成,这种j键值对被称为,项。每个键与其值之间都用冒号分隔,项与项之间用逗号分隔。整个字典放在花括号中。在字典中,键必须是独一无二的,而值无需如此。

    1.函数dict

    可使用函数dict从其他映射或键值对序列创建字典。

     items=[('name','Gumby'),('age',42)]
    >>> d=dict(items)
    >>> d
    {'name': 'Gumby', 'age': 42}
    >>> d=dict(name='Gumby',age=42)
    >>> d
    {'name': 'Gumby', 'age': 42}

    如果是这样,将会报错,传入的必须是映射或者键值对。

     items=[('name','zore','yyy')]
    >>> d=dict(items)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: dictionary update sequence element #0 has length 3; 2 is required

    2.字典的基本操作

    1 len(d)返回字典d包含的项数
    2 d[k]返回与键k相关联的值
    3 d[k]=v将值v关联到键k
    4 del d[k]删除键为k的项
    5 k in d检查字典d是否包含键为k的项

    3.、添加项

    >>> d[55]='ooo'
    >>> d
    {'name': 'Gumby', 'age': 42, 55: 'ooo'}
    >>> d.update(time='100',age='45'>>> d
    {'name': 'Gumby', 'age': '45', 55: 'ooo', 'time': '100'}
    >>> d.update(title='Python Language Website')
    >>> d
    {'name': 'Gumby', 'age': '45', 55: 'ooo', 'time': '100', 'title': 'Python Language Website'}
    >>> d.update(name=fromzore)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'fromzore' is not defined
    >>> d.update(name='zore')
    >>> d
    {'name': 'zore', 'age': '45', 55: 'ooo', 'time': '100', 'title': 'Python Language Website'}

    新项,值是字符串必须带引号,键可不必。

    4.删除项

    pop()是返回并删除项,需要参数。popitem()随机的删除字典项,不需要参数。虽然我试验的的时候,是由后往前逐个删除,但是的确是随机的,可能是我运气太好。

    >>> d.pop('name')
    'zore'
    >>> d
    {'age': '45', 55: 'ooo', 'time': '100', 'title': 'Python Language Website'}
    >>> d.popitem()
    ('title', 'Python Language Website')
    >>> d
    {'age': '45', 55: 'ooo', 'time': '100'}
    >>> d.popitem()
    ('time', '100')
    >>> d.popitem()
    (55, 'ooo')

    5、清空项

    >>> d.clear()
    >>> d
    {}

    6、keys和values

    方法keys返回一个字典视图,其中包含制定字典中的键,方法values返回一个由字典中的值组成的字典视图。

    >>> d[1]=1
    >>> d[2]=2
    >>> d
    {1: 1, 2: 2}
    >>> d.values()
    dict_values([1, 2])
    >>> d.keys()
    dict_keys([1, 2])
    >>> d[3]=3
    >>> d[4]=1
    >>> d
    {1: 1, 2: 2, 3: 3, 4: 1}
    >>> d.keys()
    dict_keys([1, 2, 3, 4])
    >>> d.values()
    dict_values([1, 2, 3, 1])

    7、items方法

    方法items返回一个包含所有字典项的列表,其中每个元素都为(key,value)的形式。字典项在列表中的排列顺序不确定。

    >>> d.items()
    dict_items([(1, 1), (2, 2), (3, 3), (4, 1)])

    返回值属于一种名为字典视图的特殊类型。视图的一个优点是不复制,他们始终是底层字典的反映

    >>> it=d.items()
    >>> (4,1) in it
    True
    >>> d[4]=4
    >>> (4,1) in it
    False
  • 相关阅读:
    推荐下自己的开源框架:DataMapFramework
    真的能无师自通吗?JAVA学习指导系列
    再回首,工作的第一个十年
    2个DataSet中的数据传递问题,请高手们多多指教。
    数据结构小结
    CDQZ_Training 2012524 词编码
    PowerDesigner显示Comment注释
    DDD基本元素
    使用FluorineFx.NET更新FMS中的SharedObject
    如何取消页面缓存
  • 原文地址:https://www.cnblogs.com/fromzore/p/8653865.html
Copyright © 2020-2023  润新知