zoukankan      html  css  js  c++  java
  • Python学习笔记:dictionary字典类型所有方法汇总

    ############################

    红色为常用重点方法

    ############################

    dic = {
    "1": [1, 2, 3],
    "2": [2, 3, 4]
    }

    ##### 增 ##########
    dic["3"] = [1, 2, 3, 4] # 键存在就修改,不存在则是增加新的键值对
    print(dic)
    print(dic.setdefault("4", ["ni hao ", "zhongguoren1"])) # 键存在就修改,不存在则是增加新的键值对,并且返回这个值,这样确保一定有值存在
    print(dic)


    print("新创造一个字典1", dict.fromkeys([11, 12, 13], "test")) # 初始化一个新的字典,和具体对象dic没有关系,相当于一个字典类静态方法,
    dic1 = dict.fromkeys([11, 12, 13], ["1", "2", "3"])# 注意:这里是浅复制,值里面如果有列表或别的字典,那么共享一个内存空间,修改一个就全部修改
    print("新创造一个字典2", dic1)

    dic1[11][0] = "1000"
    print("因为内存共享修改值后,全部字典值都修改了", dic1)


    ##### 删 ##########
    del dic["1"] # 这是一个python通用的方法,不是字典专用的
    print("删除1", dic)
    dic.pop("2") # 删除指定的一个值,如果键不存在会报错
    print("删除2", dic)
    dic.popitem() # 随机删除一个,不要随便使用
    print("随机删除", dic)



    ##### 改 ##########
    dic["3"] = [1, 2, 3, 6] # 键存在就修改,不存在则是增加新的键值对
    print(dic)
    print(dic.setdefault("4", ["ni hao ", "zhongguoren1"])) # 键存在就修改,不存在则是增加新的键值对,并且返回这个值,这样确保能有值存在
    print("更新前的字典", dic)
    dic.update({"3": "hahah ", "1": ["tw", "cyd"], "101": ["nihao", "world"]}) # 已经存在则更新,不存在则新增,这个方法很赞
    print("更新过的字典", dic)

    ##### 查 ##########
    print(dic["3"]) # 这种查找的方法,如果键不存在会报错
    print(dic.get("100")) # 这种查找的方法,如果键不存在不会报错
    print("100" in dic) # 判断一个键是否存在 相当于 "100" in keys (反之用not in)
    print(dic.values()) # 打印所有的值
    print(dic.keys()) # 打印所有的键
    print(dic.items()) # 打印所有的键值对

    print("简单循环,不需要转dic.items()先转列表,所以很高效,推荐!")
    for i in dic:
    print(i, dic[i])
    print("复杂循环,需要转列表,效率慢一些,不推荐!")
    for k, v in dic.items():
    print(k, v)
  • 相关阅读:
    mac os programming
    Rejecting Good Engineers?
    Do Undergrads in MIT Struggle to Obtain Good Grades?
    Go to industry?
    LaTex Tricks
    Convert jupyter notebooks to python files
    How to get gradients with respect to the inputs in pytorch
    Uninstall cuda 9.1 and install cuda 8.0
    How to edit codes on the server which runs jupyter notebook using your pc's bwroser
    Leetcode No.94 Binary Tree Inorder Traversal二叉树中序遍历(c++实现)
  • 原文地址:https://www.cnblogs.com/tangwei-fuzhou/p/12636445.html
Copyright © 2011-2022 走看看