列表
字典
Python内置的数据结构之一,与列表一样是个可变序列 以键值对的方式存储数据 字典是一个无序的序列
1.创建字典
'' '字典的创建方式' ''
'' '使用{}创建字典' ''
scores= { '张三' : 100 , '李四' : 89 , '王五' : 70 }
print ( scores)
print ( type ( scores) )
'' '使用内置函数dict()' ''
student= dict ( name= 'jack' , age= 20 )
print ( student)
'' '创建一个空字典' ''
d= { }
print ( d)
{ '张三' : 100 , '李四' : 89 , '王五' : 70 }
< class 'dict' >
{ 'name' : 'jack' , 'age' : 20 }
{ }
2.字典元素的获取
'' '获取字典中元素' ''
'' '使用[]' ''
scores= { '张三' : 100 , '李四' : 89 , '王五' : 70 }
print ( scores[ '张三' ] ) #100
#print(scores['陈留']) #KeyError: '陈留'
'' 'get()方法' ''
print ( scores. get ( '张三' ) ) #100
print ( scores. get ( '陈留' ) ) #None 不会报错,正常运行
print ( scores. get ( '马奇' , 90 ) ) #指定的key不存在时返回默认设置的value
100
100
None
90
3.字典元素的判断、删除、修改
'' 'key的判断' ''
'' '使用[]' ''
scores= { '张三' : 100 , '李四' : 89 , '王五' : 70 }
print ( '张三' in scores)
print ( 'Mary' not in scores)
'' '字典元素的删除' ''
del scores[ '张三' ] #删除指定的key- value对
print ( scores)
#print(scores.clear()) #清空字典元素 None
'' '字典元素的新增' ''
scores[ '陈留' ] = 99
print ( scores)
'' '字典元素的修改' ''
scores[ '陈留' ] = 60
print ( scores)
True
{ '李四' : 89 , '王五' : 70 }
{ '李四' : 89 , '王五' : 70 , '陈留' : 99 }
{ '李四' : 89 , '王五' : 70 , '陈留' : 60 }
4.获取字典视图
'' '获取字典视图' ''
'' '获取所有键' ''
scores= { '李四' : 89 , '王五' : 70 , '陈留' : 60 }
keys= scores. keys ( )
print ( keys)
print ( type ( keys) )
print ( list ( keys) ) #将所有键组成的视图转成列表
'' '获取所有value' ''
values= scores. values ( )
print ( values)
print ( type ( values) )
print ( list ( values) )
'' '获取所有键值对' ''
items= scores. items ( )
print ( items)
print ( type ( items) )
print ( list ( items) ) #转换之后的列表元素是由元组组成
dict_keys ( [ '李四' , '王五' , '陈留' ] )
< class 'dict_keys' >
[ '李四' , '王五' , '陈留' ]
dict_values ( [ 89 , 70 , 60 ] )
< class 'dict_values' >
[ 89 , 70 , 60 ]
dict_items ( [ ( '李四' , 89 ) , ( '王五' , 70 ) , ( '陈留' , 60 ) ] )
< class 'dict_items' >
[ ( '李四' , 89 ) , ( '王五' , 70 ) , ( '陈留' , 60 ) ]
5.字典元素的遍历
'' '字典元素的遍历' ''
scores= { '李四' : 89 , '王五' : 70 , '陈留' : 60 }
for item in scores:
#print(item)
print ( item, scores[ item] , scores. get ( item) )
李四 89 89
王五 70 70
陈留 60 60
6.字典生成式
items= [ 'Fruits' , 'Books' , 'Others' ]
prices= [ 9 , 34 , 56 , 78 , 34 ]
d= { items. upper ( ) : prices for items, prices in zip ( items, prices) }
print ( d)
{ 'FRUITS' : 9 , 'BOOKS' : 34 , 'OTHERS' : 56 }