• python初步学习-python数据类型-字典(dict)


    字典

    字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。

    注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键

    创建 dict

    方法一

    创建一个空的dict,这个空dict,可以在以后向里面加东西用。

    >>> mydict = {}
    >>> mydict
    {}
    >>> type(mydict)
    <type 'dict'>
    >>> 
    

    往这个字典中添加元素。

    >>> mydict['myname'] = 'ping'
    >>> mydict['mysex'] = 'male'
    >>> mydict['myweight'] = 120
    >>> mydict
    {'myname': 'ping', 'myweight': 120, 'mysex': 'male'}
    

    字典是否可以修改?

    >>> id(mydict)
    94782784
    >>> mydict['myhaircolor'] = 'black'
    >>> mydict
    {'myhaircolor': 'black', 'myname': 'ping', 'myweight': 120, 'mysex': 'male'}
    >>> id(mydict)
    94782784
    
    

    答案是 positive

    方法二

    利用元组在建构字典,方法如下:

    >>> name = (["first","Google"],["second","Yahoo"])      
    >>> website = dict(name)
    >>> website
    {'second': 'Yahoo', 'first': 'Google'}
    

    或者用这样的方法:

    >>> ad = dict(name = "qiwsir", age = 42)
    >>> ad
    {'age': 42, 'name': 'qiwsir'}
    

    访问dict的值

    dict数据类型是以键值对的形式存储数据的,所以,只要知道键,就能得到值。这本质上就是一种映射关系。
    既然是映射,就可以通过字典的“键”找到相应的“值”。

    >>> mydict
    {'myhaircolor': 'black', 'myname': 'ping', 'myweight': 120, 'mysex': 'male'}
    >>> mydict['myhaircolor']
    'black'
    
    

    既然dict是键值对的映射,就不用考虑所谓“排序”问题了,只要通过键就能找到值,至于这个键值对位置在哪里就不用考虑了

    基本操作

    字典虽然跟列表有很大的区别,但是依然有不少类似的地方。它的基本操作:

    • len(d),返回字典(d)中的键值对的数量
    • d[key],返回字典(d)中的键(key)的值
    • d[key]=value,将值(value)赋给字典(d)中的键(key)
    • del d[key],删除字典(d)的键(key)项(将该键值对删除)
    • key in d,检查字典(d)中是否含有键为key的项

    字典方法

    • copy
    • clear
    • get,setdefault
    • items/iteritems, keys/iterkeys, values/itervalues
    • pop, popitem
    • update
    • has_key
  • 相关阅读:
    20155322 2017-2018-1《信息安全系统设计》第七周学习总结
    20155322 2017-2018-1《信息安全系统设计》实验二:固件程序设计
    20155322 2017-2018-1《信息安全系统设计》第六周学习总结
    20155322 2017-2018-1《信息安全系统设计》第六周 课下作业
    01--DNS服务器1
    华为lab-rs-v1-2.5_流量优化
    华为lab-rs-v1-2.4_OSPF提升
    华为lab-rs-v1-2.3_OSPF基础
    华为lab-rs-v1-2.2_RIP基础
    华为lab-rs-v1-2.1_IP基础
  • 原文地址:https://www.cnblogs.com/pingqiang/p/7719943.html
Copyright © 2020-2023  润新知