'''什么是字典 字典的原理 字典的创建与删除 字典的查询操作 字典元素的增,删,改操作''' #字典 #Python内置的数据类型之一,与列表一样是一个可变序列 #以键值对的方式存储数据,字典是一个无序的序列 scores={'张三':100,'李四':98} #字典名 花括号 键 冒号 值逗号 print(scores) #字典的创建 使用花括号{} 使用内置函数dict() '''----使用{}创建字典----''' scores={'张三':100,'李四':98} print(scores) '''----使用内置函数dict()创建字典----''' student=dict(name='Jack',age=20) print(student) '''空字典''' d={} print(d) '''字典中元素的获取 []取值 scores=['python'] get()取值 scores.get('python') []如果字典中不存在指定的key,抛出KeyError异常 get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError而是返回None,可以通过参数设置默认的value 以便指定的key不存在时返回''' #获取字典中的元素 #[]取值 scores={'张三':100,'李四':98} print(scores['张三']) #print(scores['陈六']) #KeyError:'陈六' #get()取值 scores={'张三':100,'李四':98} print(scores.get('张三')) #None print(scores.get('陈六',99)) #99是在查找'陈六'所对应的value不存在时,提供的一个默认值 '''key的判断 in 指定的key在字典中存在返回True not in 指定的key在字典中不存在返回True 字典元素的删除 del scores['张三'] 字典元素的新增 scores['jack']=90''' #key的判断 scores={'张三':100,'李四':98} print('张三' in scores) print('张三' not in scores) #字典元素的删除操作 del scores['张三'] #删除指定的key-value对 print(scores) scores.clear() #清空字典的元素 print(scores) #字典元素的新增操作 scores['陈六']=98 #新增元素 print(scores) scores['陈六']=100 #修改元素 print(scores) '''获取字典视图的三个方法 keys() 获取字典中所有key values() 获取字典中所有value items() 获取字典中所有key-value对''' scores={'张三':100,'李四':98} #获取所有的key keys=scores.keys() print(keys) print(type(keys)) print(list(keys)) #将所有的key组成的视图转成列表 #获取所有的value values=scores.values() print(values) print(type(values)) print(list(values)) #获取所有的key-value对 items=scores.items() print(items) print(type(items)) print(list(items)) #字典元素的遍历 for item in scores: print(item,scores[item],scores.get(item)) '''字典的特点 字典中的所有元素都是一个key-value对,key不允许重复,value允许重复 字典中的元素是无序的 字典中的key必须是不可变对象 字典也可以根据需要动态的伸缩 字典会浪费较大的内存,是一种空间换时间的数据结构''' s={'name':'张三','name':'李四'} #key不允许重复 print(s) s={'name':'张三','new-name':'张三'} #value允许重复 print(s) lst=[10,20,30] lst.insert(1,100) print(lst) #d={lst:100} TypeError: unhashable type: 'list' #字典生成式 #内置函数zip() #用于将可迭代对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表 #字典生成式 {item.upper():price for item,price in zip(items,prices) items=['Fruits','Books','Others'] prices=[96,78,85] d={item.upper():price for item,price in zip(items,prices)} print(d)
字典的基本应用
最新推荐文章于 2023-04-14 16:33:26 发布