欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 字典

程序员文章站 2022-06-22 12:54:21
一、什么是字典 字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值对(key->value)用冒号“:”分割,每个键值对之间用逗号“,”分割,整个字典包括在花括号“{}”中 注意:键必须使用不可变类型即整形、字符串、元组 二、字典的基本操作 1.增加 >>> {'name': 'tom', ......

一、什么是字典

  字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值对(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 小可爱