zoukankan      html  css  js  c++  java
  • dict字典

    dict字典

    字典的概述

    • 概述:使⽤键-值(key-value)⽅式存储。

    • key的特点: • 1、字典中的key必须是唯⼀的

    • 2、key值必须是不可变的数据类型:字符串、元组、Number

    • 3、list是可变的,不能作为key值使⽤

    • 4、value:可以是任意类型的数据,可以重复。

    • 本质:⼀种⽆序的集合。

    注:字典是可变的数据

    字典的创建

    key:不可用可变数据类型(可用string,Number,bool,none(不推荐用))

    value:python支持的数据类型均可

    # 1、创建⼀个带有5个元素的字典
    dic1 = {"Lily":98, "Tom":67, "Lucy":98, "Hmm":45, "Lilei":45}
    print(dic1)
    print(type(dic1)) # dict
    # 2、创建⼀个空字典
    dic2 = {}
    print(dic2)
    # 3、创建⼀个只有⼀个元素的字典
    dic3 = {"a" : "abc"}
    print(dic3)

    字典的访问

    两种value方式:

    1.  字典名[key]    注:当key在字典中不存在,报错

    2. 字典名.get(key)    注:当key不存在,返回none

    # 1.获取value 方式一     字典名【key】
    # 注:当key中不存在,报错
    dict1 = {"a": 1, "b": 2, "c": 3}
    print(dict1["a"])
    
    # 2.获取value 方式二     dict1.get(key)
    # 注: 当key中不存在,返回none
    dict2 = {"a": 1, "b": 2, "c": 3}
    print(dict2.get("a"))
    print(dict2.get("adsd"))  # none

     判断元素是否存在字典中

    利用  in    或者    not   in  返回值类型为bool

    dict1={"a":21,"sd":121}
    print("b" in list(dict1.keys()))        #True
    print("b" not in list(dict1.keys()))    #False
    print("b" in list(dict1.keys()))        #False
    print("b" not in list(dict1.keys()))    #True

     字典的操作 

    字典添加元素  字典名[新的key]=新的value

    删除字典中指点key的元素  字典名称.pop(key值)

    修改元素   字典名[key]=value

    dict2 = {"a": 1, "b": 2, "c": 3}
    print(dict2)
    # 1 增 格式:字典名称[新的key]=新的value
    dict2["as"] = 45
    print(dict2)
    
    # 2 删 格式:字典名称.pop(key值)
    dict2.pop("a")
    print(dict2)
    
    # 3 改 格式:字典名称[key]=value
    # key值被删除时,value值也会被删除
    dict2["as"] = 66
    print(dict2)
    
    # 4查
    print(dict2["b"])
    print(dict2.get("b"))  
    
    # 5其他
    print(len(dict2))

     字典遍历

    dict.keys()  返回字典中所有的key值

    dict.values()   返回字典中所有的value值

    dict.items()    返回字典中所有的key及value值的列表   每个元素为一个元组,元组第一个元素为key,第二个元素为value

    # 1、遍历
    for key in dict1:
        print(key, dict1[key])
    
    # 2.dict.keys()  返回字典中所有的key值  (列表类型)
    print(dict2.keys())
    keylist = dict2.keys()
    for key in keylist:
        print(key)
        print(dict2[key])
    
    # 3.字典名.values()   返回字典中所有的value值  (列表类型)
    print(dict2.values())
    for value in dict2.values():
        print(value)
    
    # 4.字典名.items() 返回字典中所有的key及value值(列表类型,列表类型)
    # 中的元素为元组类型,元组的第一个元素为key,第二个为value
    print(dict2.items())
    for key, value in dict2.items():
        print(key, value)
    
    # 5.字典模拟json
    list = [{'appname': "1231", "price": 12, "datetime": "2019-12-2"}
        , {'appname': "ssds", "price": 13, "datetime": "2019-3-2"}]
    for i in list:
        print(i["appname"])

     

     

     

  • 相关阅读:
    Good Bye 2014 B. New Year Permutation(floyd )
    hdu 5147 Sequence II (树状数组 求逆序数)
    POJ 1696 Space Ant (极角排序)
    POJ 2398 Toy Storage (叉积判断点和线段的关系)
    hdu 2897 邂逅明下 (简单巴什博弈)
    poj 1410 Intersection (判断线段与矩形相交 判线段相交)
    HDU 3400 Line belt (三分嵌套)
    Codeforces Round #279 (Div. 2) C. Hacking Cypher (大数取余)
    Codeforces Round #179 (Div. 2) B. Yaroslav and Two Strings (容斥原理)
    hdu 1576 A/B (求逆元)
  • 原文地址:https://www.cnblogs.com/dyd520/p/11244445.html
Copyright © 2011-2022 走看看