文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python 字典

2023-01-30 23:28

关注

一、什么是字典

  字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值对(key->value)用冒号“:”分割,每个键值对之间用逗号“,”分割,整个字典包括在花括号“{}”中

  注意:键必须使用不可变类型即整形、字符串、元组

二、字典的基本操作

1.增加

1 dic = {'name':'tom'}
2 dic['age'] = 18
3 print(dic)

>>> {'name': 'tom', 'age': 18}

2.修改

1 dic = {'name':'tom'}
2 dic['name'] = 18
3 print(dic)

>>> {'name': 18}

3.  .setdefault() 操作

1 dic = {'name':'tom'}
2 dic['age'] = 18
3 print(dic)
4 
5 # 键存在则不进行操作,并把原有的值作为返回值;键不存在,则增加
6 dic.setdefault('age', '34')  
7 
8 print(dic)

>>> {'name': 'tom', 'age': 18}

       {'name': 'tom', 'age': 18}

4.输出字典的键

1 dic = {'name':'tom', 'age':'22', 'hobby':'ss'}
2 print(dic.keys())   #输出字典的键
3 print(list(dic.keys()))   #以列表的形式输出字典的键
4 print(list(dic.values())) #以列表形式输出字典键所对应的值

输出:dict_keys(['name', 'age', 'hobby'])

          ['name', 'age', 'hobby']

          ['tom', '22', 'ss']

5.字典的更新( .update() )

1 dic1 = {'name':'tom', 'age':'22', 'hobby':'ss'}
2 dic2 = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
3 print(dic1)
4 dic1.update(dic2)  #把dic2的内容更新到dic1中
5 print(dic1)

输出: {'name': 'tom', 'age': '22', 'hobby': 'ss'}

            {'name': 'tom', 'age': '12', 'hobby': '小可爱'}

6.删除键值对

 1 dic1 = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
 2 dic2 = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
 3 del dic1['name']    #删除指定键值对
 4 print(dic1)
 5 
 6 ret = dic1.pop('age')    #删除指定键值对,并返回键值所对应的值
 7 print(ret)
 8 print(dic1)
 9 
10 a = dic2.popitem()    #随机删除某个键值对,并以元组方式返回
11 print(a,dic2)

输出: {'age': '12', 'hobby': '小可爱'}

      12

      {'hobby': '小可爱'}

      ('hobby', '小可爱') {'name': 'tom', 'age': '12'}

7.清空和删除整个字典

1 dic = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
2 dic.clear()   #清空字典
3 print(dic)
4 
5 del dic   # 删除整个字典

输出结果: {}

8.字典的嵌套

 1 dic_nate = {
 2     "欧美":{
 3         "www.123.com":["质量一般","免费"],
 4         "www.234.com":["质量一般","高清"],
 5         "www.345.com":["质量优","收费,屌丝绕路"]
 6     },
 7     "日韩":{
 8         "www.456.com":["质量优","免费"]
 9     },
10     "大陆":{
11         "www.567.com":["质量差","网速慢"]
12     }
13 }
14 
15 dic_nate['欧美']["www.234.com"][1] = '垃圾'  # 修改键值
16 print(dic_nate)

输出结果:

  {'欧美': { 'www.123.com': ['质量一般', '免费'],

        'www.234.com': ['质量一般', '垃圾'],

        'www.345.com': ['质量优', '收费,屌丝绕路']},

  '日韩': {'www.456.com': ['质量优', '免费']},

  '大陆': {'www.567.com': ['质量差', '网速慢']}}

9.字典的遍历

1 dic = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
2 
3 for n in dic:
4     print(n) #输出键
5     print(n, dic[n]) #输出键和键值

输出:name

     name tom

     age 

     age 12

     hobby

     hobby 小可爱

1 dic = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
2 
3 for n,m in dic.items():  #用两个变量分别接收键和键值
4     print(n, m)

输出结果:name tom

     age 12

       hobby 小可爱

1 a = eval(a)    #转换成字典类型

 










阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯