• python基础2--字典


    字典


    字典是另一种可变容器模型,且可存储任意类型对象。

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})

    语法:

    1 goods = {
    2     'apple':4.5,
    3     'orange':2.3,
    4     'banana':3.5
    5      }

    字典的特性:

    • dict是无序的
    • key必须是唯一的

    1.增加元素

    1 >>> goods
    2 {'apple': 4.5, 'banana': 3.5, 'orange': 2.3}
    3 >>> goods['peach']=5.0
    4 >>> goods
    5 {'apple': 4.5, 'banana': 3.5, 'orange': 2.3, 'peach': 5.0}

    2.修改

    1 >>> goods['apple']=5.5  # 将苹果的价格改为 5.5
    2 >>> goods
    3 {'apple': 5.5, 'banana': 3.5, 'orange': 2.3, 'peach': 5.0}

    3.删除元素

     1 >>> goods
     2 {'apple': 5.5, 'banana': 3.5, 'orange': 2.3, 'peach': 5.0}
     3 >>> goods.pop('peach')    #删除peach,并返回value的值
     4 5.0
     5 >>> goods
     6 {'apple': 5.5, 'banana': 3.5, 'orange': 2.3}
     7 
     8 >>> del goods['banana']   # 指定 key的删除
     9 >>> goods
    10 {'apple': 5.5, 'orange': 2.3}
    11 
    12 >>> goods
    13 {'apple': 5.5, 'grape': 6.0, 'orange': 2.3, 'watermelon': 12.0}
    14 >>> goods.popitem()   # 随机删除
    15 ('apple', 5.5)
    16 >>> goods
    17 {'grape': 6.0, 'orange': 2.3, 'watermelon': 12.0}

    4.查找

     1 >>> goods
     2 {'grape': 6.0, 'orange': 2.3, 'watermelon': 12.0}]
    # key的值在字典中存在
    3 >>> 'grape' in goods 4 True
    # key存在就返回 value , 不存在就返回 None
    5 >>> goods.get('orange') # 知道key,获取 value 6 2.3 7 >>> goods['watermelon'] 8 12.0 9 >>> goods['apple'] # 如果一个key不存在,就会报错,get不会,不存在只会返回None 10 Traceback (most recent call last): 11 File "<stdin>", line 1, in <module> 12 KeyError: 'apple'

    5.多级字典及操作

     1 area = {'浙江':
     2             {
     3              '杭州':['西湖区','下城区','萧山区'],
     4              '嘉兴':['南湖区','秀洲区','平湖市'],
     5              '温州':['九湾区','鹿城区','洞头区']
     6              },
     7         '江苏':
     8             {
     9              '南京':['鼓楼区','玄武区','秦淮区'],
    10              '苏州':['姑苏区','吴中区','虎丘区'],
    11              '常州':['武进区','金坛市','溧阳市']
    12             }
    13 
    14 
    15         }
    16         
    17 >>> area['浙江']['杭州']
    18 ['西湖区', '下城区', '萧山区']
    19 
    20 
    21 >>> area['浙江']['杭州'][1] += ',很大'
    22 >>> area['浙江']['杭州']
    23 ['西湖区', '下城区,很大', '萧山区']

    6.其他用法

     1 >>> area.keys()
     2 dict_keys(['浙江', '江苏'])   # 返回字典中的所有keys,生成一个列表
     3 >>> goods.values()
     4 dict_values([6.0, 2.3, 12.0])  #返回字典中的所有values,生成一个列表
     5 >>> goods.keys()
     6 dict_keys(['grape', 'orange', 'watermelon'])
     7 
     8 {'grape': 6.0, 'orange': 2.3, 'watermelon': 12.0} 
     9 >>> b = {1:2,3:4,'grape':4.5}
    # update()是把两个字典合并成一个新字典,中间有交叉的key,更新替换成新值,没有交叉就直接创建
    10 >>> goods.update(b) 11 >>> goods 12 {1: 2, 3: 4, 'grape': 4.5, 'orange': 2.3, 'watermelon': 12.0} 13 14 >>> goods.items() 15 dict_items([(1, 2), (3, 4), ('grape', 4.5), ('orange', 2.3), ('watermelon', 12.0)])

    7.setdefault(k,v)

    不存在的key 就添加,存在就返回原值

    fruits = {"apple":5.6,
    		  "banana":4.5,
    		  "peal":6.5,
    		  "orange":4.3}
    
    #设置不存在的key,则添加新值
    fruits.setdefault("watermelon",8.8)
    print(fruits)
    
    #输出
    {'banana': 4.5, 'orange': 4.3, 'apple': 5.6, 'peal': 6.5, 'watermelon': 8.8}
    #设置存在的值,则 value还是原值
    fruits.setdefault("apple",3.6)
    print(fruits["apple"])
    
    #输出
    5.6
    

    8.itmes()

    把字典转换成列表 

    fruits = {"apple":5.6,
    		  "banana":4.5,
    		  "peal":6.5,
    		  "orange":4.3}
    
    print(fruits.items())
    
    #输出
    dict_items([('peal', 6.5), ('apple', 5.6), ('orange', 4.3), ('banana', 4.5)])
    

      

    9.遍历字典

    1 for key in goods:
    2     print(key,goods[key])
    3 #或
    4 for k,v in goods.items():
    5     print(k,v)
  • 相关阅读:
    纪念日给男(女)朋友的表白页面
    Vue组件的传值(非父子之间)
    express脚手架的安装和使用
    MongoDB数据库
    vuex状态
    MVVM框架的简单理解
    关于vue脚手架
    申请百度密钥
    svg
    微信小程序开发学习笔记
  • 原文地址:https://www.cnblogs.com/bigberg/p/6399072.html
Copyright © 2020-2023  润新知