zoukankan      html  css  js  c++  java
  • python 数据类型_字典和集合

    字典     一个key值 对应一个value值

    定义

    mydict1 = {'name':'a','age':21}
    mydict2 = dict()

    取值

    >>> mydict1["name"]
    'a'

    >>> {"name":{"1":"aa","2":'bb'}}["name"]["1"]
    'aa'

    .get(key, 0)     取值

    >>> mydict1.get("name")
    'a'

    赋值

    >>> mydict2["ee"] = "aaa"

    in 是否在里面

    >>> "name" in mydict1
    True

    >>> "fname" in mydict1
    False

    .keys()            #返回字典键的列表

    >>> mydict1.keys()
    dict_keys(['name', 'age'])

    .values()            #返回字典值的列表
    >>> mydict1.values()
    dict_values(['a', 21])

    .items() 

    >>> mydict1.items()
    dict_items([('name', 'a'), ('age', 21)])

    .update(dict2)     #增加合并字典

    >>> mydict1.update({"sex":"nan"})
    >>> mydict1
    {'name': 'a', 'age': 21, 'sex': 'nan'}

    .clear()           #清空字典,同del(dict)

    .copy()            #拷贝字典

    .cmp(dict1,dict2)  #比较字典,(优先级为元素个数、键大小、键值大小)
                        #第一个大返回1,小返回-1,一样返回0

    dictionary的复制
    dict1 = dict            #别名    浅拷贝   指针直接指向

    >>> dict1 = mydict1
    >>> id(dict1)
    1751728577272
    >>> id(mydict1)
    1751728577272


    dict2=dict.copy()   #克隆,即另一个拷贝。 新的字典内存空间

    >>> dict2 = mydict1.copy()
    >>> id(dict2)
    1751728577344
    >>> id(mydict1)
    1751728577272

     但是字典内的元素地址还是一样的

    >>> id(dict1["a"])
    2564442425248
    >>> id(dict2["a"])
    2564442425248

    使用deepcopy 元素以及变量都是新的地址

    import copy

    copy.deepcopy方法

    set集合 每一项只能是唯一的

    myset = set()

    >>> type(myset)
    <class 'tuple'>

    >>> myset2 = {'a','b','c'}
    >>> type(myset2)
    <class 'set'>

    add(),添加元素

    >>> myset2.add("d")
    >>> myset2
    {'b', 'a', 'd', 'c'}

    >>> myset2.remove("d")
    >>> myset2
    {'b', 'a', 'c'}

    clear() 清空 

    >>> myset.clear()
    >>> myset
    set()

    pop() 弹出一个 随机的

    >>> myset2.pop()
    'b'
    >>> myset2.pop()
    'a'

    >>> myset2
    {'c'}

    copy() 和字典一样

  • 相关阅读:
    深入理解加密、解密、数字签名和数字证书
    支付网关的设计
    spring boot Rabbitmq集成,延时消息队列实现
    五一之起一台服务器玩玩-u盘安装centos
    shell初识
    用户身份切换之初窥企业远程用户没root还有root权限
    man帮助文档打印
    开源镜像软件下载网址{转载}
    bash shell第一课
    jQuery常用ajax操作
  • 原文地址:https://www.cnblogs.com/hywhyme/p/11571525.html
Copyright © 2011-2022 走看看