字典(dict),增删改查,嵌套

摘要:
返回的值是删除的值4print(dic)#{'name':'boy'}5print(ret)#删除的值6deldic[“sex”]#{'name':100000}7print(dic)8dic。popup()#随机删除9print(dic)#{'name':
一丶字典

  dict 用{}来表示  键值对数据  {key:value}  唯一性

  键  都必须是可哈希的  不可变的数据类型就可以当做字典中的键

  值  没有任何限制

二丶字典的增删改查

  1.增

    dic[key] = value

    dic.setdefault(key,value)

    如果键在字典中存在,则不进行任何操作,否则就添加,可以通过key查询,没有这个key则返回None

1 #
2 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
3 dic["sex"] = ""  #增加,如果key重复了,会替换掉原来的value
4 print(dic)
5 dic.setdefault("hobby","listen music")
6 print(dic)

字典(dict),增删改查,嵌套第1张

  2.删

    pop(key) 有返回值,返回的是被删除的value

    del dic[key]

    popitem  随机删除

    clear()     清空字典

 1 #
 2 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
 3 ret = dic.pop("money")    #有返回值,返回的是被删除的value
 4 print(dic)              #{'name': '周杰伦', 'age': 45, 'sex': 'boy'}
 5 print(ret)      #被删除的值
 6 del dic["sex"]    #{'name': '周杰伦', 'age': 45, 'money': 100000}
 7 print(dic)
 8 dic.popitem()       #随机删除
 9 print(dic)          #{'name': '周杰伦', 'age': 45, 'sex': 'boy'}
10 dic.clear()         #全部清空 {}
11 print(dic)

   3.改

    dic[key] = value

    dic.update(字典)

1 #
2 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
3 dic["age"] = "40"   #强制修改值
4 print(dic)      #{'name': '周杰伦', 'age': '40', 'sex': 'boy', 'money': 100000}
5 dic1 = {"name":"李晨","bug":"唯一一个","age":38}
6 dic2 = {"name":"范冰冰","邓超":"玛丽","age":26}
7 dic2.update(dic1)       #把dic1中的内容更新到dic2中,如果存在了key,则替换,如果不存在,则添加进去
8 print(dic1)
9 print(dic2)

  4.查

    get(key)

    dic[key]

    for  循环

    setdefault(key)

 1#查
2 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000} 3 print(dic.get("sex")) #boy 4 print(dic["age"]) #45 5 for a in dic: #for 循环默认是获取字典中的键(key) 6 print(a) 7 print(dic[a]) #获取的是字典中的值(value) 8 ret = dic.setdefault("name","谢文东") #首先判断原来的字典中有没有这个key,如果没有,执行新增 9 print(dic) #用这个key去字典中查询,返回查找到的结果 10 print(ret)
三丶字典的其它操作

  keys  获取到所有的键存在一个高仿的列表中

  values  获取到所有的值存在一个高仿的列表中

  items  获取到所有的键值对,以元组的形式存在一个高仿的列表中

1 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
2 print(dic.keys())       #获取到所有的键存在一个高仿的列表中
3 ##dict_keys(['name', 'age', 'sex', 'money'])
4 print(dic.values())       #获取到所有的值存在一个高仿的列表中
5 ##dict_values(['周杰伦', 45, 'boy', 100000])
6 print(dic.items())         #获取到所有的键值对,以元组的形式存在一个高仿的列表中
7 ##dict_items([('name', '周杰伦'), ('age', 45), ('sex', 'boy'), ('money', 100000)])
四丶字典的嵌套
 1 # 字典的嵌套
 2 dic1 = {
 3     "name":"汪峰",
 4     "age":48,
 5     "sex":"",
 6     "wife":{
 7         "name":"章子怡",
 8         "age":36,
 9         "sex":"",
10     },
11     "baby":[
12         {"name":"熊大","age":18},
13         {"name":"熊二","age":16}
14     ]
15 }
16 print(dic1)
17 dic1["baby"][1]["age"] = 14
18 print(dic1)

字典(dict),增删改查,嵌套第2张

  

免责声明:文章转载自《字典(dict),增删改查,嵌套》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇webpack安装异常centos7 yum快速安装php7.1下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

pytest文档69-Hook函数之参数化生成测试用例pytest_generate_tests

前言 pytest 实现参数化有三种方式 pytest.fixture() 使用 fixture 传 params 参数实现参数化 @ pytest.mark.parametrize 允许在测试函数或类中定义多组参数,在用例中实现参数化 pytest_generate_tests 允许定义自定义参数化方案或扩展。 pytest_generate_tes...

lua以xpcall实现try/catch功能

-- 打印错误信息 local function __TRACKBACK__(errmsg) local track_text = debug.traceback(tostring(errmsg), 6); print("---------------------------------------- TRACKBACK -------...

flutter_blue 蓝牙插件实战及那些坑

项目场景: 地下车库无网路的情况下需要使用蓝牙对小区门禁进行开门 本人掘金文章 坑一: 安卓端引入flutter_blue运行项目报错 1. 原因: 安卓sdk版本需要28以上 2. 解决: android/build.gradle 下修改 compileSdkVersion  targetSdkVersion 为 28;  minSdkVersion 修...

Stanford Parser 标记含义

Stanford Parser是一个很好的语法分析工具,但在使用的时候发现有很多不认识的标签,经过一番查找,将其列出供大家参考:   本文的内容主要来源于以下两个网址: http://en.wikipedia.org/wiki/Brown_Corpus#Part-of-speech%5Ftags%5Fused http://stackoverflow.com...

29网络偷包

偷包,就是在网络传输过程中,截取某一数据包,进行解析获取其发送的数据。 原理与TCP通信类似。只需在创建套接字时,参数不同。 fd = socket(PF_INET, SOCK_RAW, IPPROTO_TCP); PF_INET                      IPV4协议 SOCK_RAW            对原始网络协议访问 IPPRO...

jQuery----1

简介   jQuery可以像CSS一样选择页面内的元素。比如:$('p')会选中所有的段落。   使用$(document).ready()就可以添加文档载入完毕之后执行的代码。   使用$.fn.func = function(){}的方式可以扩展jQuery。   选择器   简单示例:   <script type="text/JavaSc...