字典dict:键值对(无重复,无下标索引)
my_dict = { 'python' : 99 , 'java' : 88 , 'c' : 77 , 'c++' : 66 }
my_dict2 = { }
my_dict3 = dict ( )
print ( f"my_dict: { my_dict} ,类型为: { type ( my_dict) } " )
print ( f"my_dict2: { my_dict2} ,类型为: { type ( my_dict2) } " )
print ( f"my_dict3: { my_dict3} ,类型为: { type ( my_dict3) } " )
基于key获取value
my_dict = { 'python' : 99 , 'java' : 88 , 'c' : 77 , 'c++' : 66 }
print ( f"python对应的value值为: { my_dict[ 'python' ] } " )
字典的嵌套:key和value可为任意数据类型,但key不可为字典
典中典
my_dict_dict = {
"jay" : { "java" : 99 , "python" : 88 , "c" : 77 } ,
"jake" : { "java" : 98 , "python" : 87 , "c" : 76 } ,
"zhou" : { "java" : 97 , "python" : 86 , "c" : 75 } ,
"Hua" : { "java" : 99 , "python" : 88 , "c" : 77 }
}
print ( my_dict_dict)
print ( my_dict_dict[ "jay" ] )
print ( my_dict_dict[ "jay" ] [ "python" ] )
新增/更新元素
my_dict = { 'python' : 99 , 'java' : 88 , 'c' : 77 , 'c++' : 66 }
my_dict[ 'python3' ] = 100
print ( f"新增后: { my_dict} " )
my_dict[ 'python3' ] = 60
print ( f"更新后: { my_dict} " )
删除元素,pop()方法:按key获取value并去除此键值对
my_dict = { 'python' : 99 , 'java' : 88 , 'c' : 77 , 'c++' : 66 }
value = my_dict. pop( 'python' )
print ( f"删除value: { value} 后,my_dict: { my_dict} " )
my_dict. clear( )
print ( my_dict)
字典元素数量
my_dict = { 'python' : 99 , 'java' : 88 , 'c' : 77 , 'c++' : 66 }
print ( f"字典元素数量为: { len ( my_dict) } " )
获取字典全部的key,遍历字典
keys()方法
my_dict = { 'python' : 99 , 'java' : 88 , 'c' : 77 , 'c++' : 66 }
keys = my_dict. keys( )
print ( f"字典全部的key有: { keys} ,数据类型为: { type ( keys) } " )
for key in keys:
print ( f"key: { key} 对应的value: { my_dict[ key] } " )
方法二:直接对字典for循环遍历
my_dict = { 'python' : 99 , 'java' : 88 , 'c' : 77 , 'c++' : 66 }
for key in my_dict:
print ( f"key: { key} 对应的value: { my_dict[ key] } " )
案例,将level为1的学生升一级,并将其python分数加10
my_dict_dict = {
"jay" : { "java" : 99 , "python" : 88 , "c" : 77 , "level" : 1 } ,
"jake" : { "java" : 98 , "python" : 87 , "c" : 76 , "level" : 2 } ,
"zhou" : { "java" : 97 , "python" : 86 , "c" : 75 , "level" : 1 } ,
"Hua" : { "java" : 99 , "python" : 88 , "c" : 77 , "level" : 3 }
}
print ( f"更新前: { my_dict_dict} " )
for name in my_dict_dict:
if my_dict_dict[ name] [ "level" ] == 1 :
my_dict_dict[ name] [ "level" ] += 1
my_dict_dict[ name] [ "python" ] += 10
print ( f"更新后: { my_dict_dict} " )
小结
列表list 元组tuple 字符串str 集合set 字典dict通用操作
max()最大元素 min()最小元素,注意字符串比较参照ASCII码表的码值(控制字符<空格<数字<大写字母<小写字幕)
容器类型转换函数(字典可转换为其他类型,但可能会丢失value,其他类型不可转为字典)
'''
list()
tuple()
str()
set()
'''
容器排序函数:sorted(容器类型,reverse=Ture),排序结果会放入列表对象中;reverse=Ture表示逆序,不写默认正序