zoukankan      html  css  js  c++  java
  • python 字典

    
    #__author__ = 'juzi_juzi'
    '''
    类似于我们常用的字典,根据某个指定的内容,可以找到对应的详细解释;
    解释为键值对存放,key -->> value;
    特点:
    1、存放为键值对的形式;
    2、键不重复,值可重复;
    3、键不可修改,不可变,值可修改,可存放任何对象;
    
    '''
    #初始化字典的两种方法:
    #1、dict1 = dict()
    #2、dict2 = {}
    fruit_price={'apple':4,'orange':2.5,'banana':3}
    #向字典中添加元素
    fruit_price['sugarcane']=10
    #修改字典中指定key的value
    fruit_price['apple']=2.5
    #获取指定key的value
    print(fruit_price['orange']) #类似列表的写法,只是将列表的角标换成字典的key;
    
    #***************删除指定字典相关内容 ***************
    del fruit_price['sugarcane']
    print(fruit_price)
    
    fruit_price['sugarcane']=10
    return_value = fruit_price.pop('sugarcane')  #删除给定key的信息,返回key 对应的value;
    print('pop key return value is:{} and old fruit_price
     value is:{}'.format(return_value,fruit_price))
    
    fruit_price['sugarcane']=10
    fruit_price.clear()  #清空了整个字典,返回None;
    print(fruit_price)
    
    #***************列表(元祖)转字典相关内容 ***************
    #列表(元祖)转字典的前提是,列表(元祖)双元素;
    list1 = (1,2)
    list2 = ['key','value']
    list3 = ['name',['zhangsan','lisi']]
    new_dict = dict([list1,list2,list3])
    print(new_dict) #{1: 2, 'key': 'value', 'name': ['zhangsan', 'lisi']}
    
    #***************列表常用方法 ***************
    #get() ,key 不存在fanhui Non,不抛异常;
    cars ={'BMW':100,'BUICK':50}
    car_bmw = cars.get('BMW') #获取指定key 的值;
    car_das = cars.get('DAS',40) #获取指定key 的值,如果key 不存在,用默认的值显示;
    print('bmw:{}, das:{}'.format(car_bmw,car_das))
    #keys(), values(), items()
    print(cars.keys()) #获取所有key,返回dict_keys;
    print(cars.values()) #获取所有key,返回dict_value;
    print(cars.items()) #获取所有key,返回dict_item;
    
    print(list(cars.keys())) #获取所有key,返回keys列表;
    print(list(cars.values())) #获取所有values,返回values列表;
    print(list(cars.items())) #获取所有items,返回items列表;
    
    #update() 更新字典,已有的覆盖,没有的添加;
    car2 =  {'Chevy':30,'Infiniti':60}
    cars.update(car2) # 返回为None,修改了原字典;
    print(cars) # {'BMW': 100, 'BUICK': 50, 'Chevy': 30, 'Infiniti': 60}
    
    #popitem()方法,随机弹出字典中的一个Key-value对;看起来似乎总是弹出字典中最后的k-v;
    print(cars.popitem()) #返回弹出的key,value组合,tuple(k,v);
    k,v = cars.popitem() #这种写法更经常使用;
    print('key is {} and value is :{}'.format(k,v))
    
    # setdefault()方法,用于根据 key 来获取对应 value 的值;如果key在不存在,那么会先设置默认的value;
    #然后在返回value; 其实这个方法叫getdefault更好理解;说白了就是key 存在不存在均能返回value;
    cv = cars.setdefault('Citroen',25) #Citroen不存在,设置默认值返回;
    bv = cars.setdefault('BMW',25) # BMW key 存在,所以不讲默认值赋予;
    print('key not exist get value:{},key exist get value:{}'.format(cv,bv))
    print(cars)
    
    # fromkeys() 给定多个key,转换成字典的key,可设置默认值;
    c_key_list = cars.keys()  #获得cars Key列表;
    c_key_tuple = tuple(c_key_list)
    new_dict_from_list = dict.fromkeys(c_key_list)
    new_dict_from_tuple = dict.fromkeys(c_key_tuple,80)
    print(new_dict_from_list)
    print(new_dict_from_tuple)
    
     
  • 相关阅读:
    eclipse --- 新建JSP页面默认模版设置
    (转)Spring文件上传,包括一次选中多个文件
    python 一篇搞定所有的异常处理
    python 常用算法学习(2)
    python 面向对象之继承与派生
    python 面向对象的程序设计
    python 闯关之路二(模块的应用)
    python 一篇就能理解函数基础
    python 装饰器 一篇就能讲清楚
    python 练完这些,你的函数编程就ok了
  • 原文地址:https://www.cnblogs.com/juzib/p/12060734.html
Copyright © 2011-2022 走看看