第七讲:python的字典各种操作


1、什么是字典

python内置的数据结构之一,与列表一样是一个可变序列,以键值对的方式存储数据,字典是一个无序的序列。
python的字典是根据key查找value所在的位置(hash函数)

1.1 字典的创建

#用{}创建字典
scores={
    
    '第一':100,'第二':90,'第三':80}
print(scores) #{'第一': 100, '第二': 90, '第三': 80}

#创建dict()的方式创建字典
student=dict(name='XCsss98',age=18) #{'name': 'XCsss98', 'age': 18}
print(student)

#空字典
d={
    
    }
print(d) #{}

1.2 字典中元素的获取


scores={
    
    '第一':100,'第二':90,'第三':80}
print(scores['第二']) #90,若查找的键不存在,则报错
print(scores.get('第二')) #90,查找的键不存在,也不会报错
print(scores.get('第四',0)) #若不存在,返回0

1.3 字典的增删改

scores={
    
    '第一':100,'第二':90,'第三':80}

#key的判断
print('第一' in scores) #True
print('第四' not in scores) #True

#删除
del scores['第一']
print(scores)#{'第二': 90, '第三': 80}
#scores.clear 清空

#增加
scores['第四']=70
print(scores)  #{'第二': 90, '第三': 80, '第四': 98}

#修改
scores['第四']=100
print(scores) #{'第二': 90, '第三': 80, '第四': 100}

1.4 字典的视图


scores={
    
    '第一':100,'第二':90,'第三':80}

#获取所有的键
keys=scores.keys()
print(keys)  #dict_keys(['第一', '第二', '第三'])
print(list(keys)) #将key组成的视图转为列表 ['第一', '第二', '第三']
values=scores.values()
print(values) #dict_values([100, 90, 80])
print(list(values)) #[100, 90, 80]

#获取所有的key-value对
items=scores.items()
print(items) #dict_items([('第一', 100), ('第二', 90), ('第三', 80)])
print(list(items)) [('第一', 100), ('第二', 90), ('第三', 80)]

1.5 字典元素的遍历

scores={
    
    '第一':100,'第二':90,'第三':80}

for item in scores:
    print(item,scores[item],scores.get(item))
#第一 100 100
#第二 90 90
#第三 80 80

1.6 字典的特点

a={
    
    'name':'第一','name':'第二'}
print(a) #{'name': '第二'}, key不允许重复
b={
    
    'name1':'第二','name2':'第二'}
print(b) #{'name1': '第二', 'name2': '第二'} ,value可以重复

#字典中的元素时无序的
#字典可以动态的伸缩
#字典是以空间换时间,查询速度快

1.7 字典生成式


#字典生成式,内置函数zip()
items=['one','two','three']
values=[3,1,5]

a={
    
    i.upper():values for i,values in zip(items,values)} #upper()是大写,可省略
print(a) #{'ONE': 3, 'TWO': 1, 'THREE': 5}


猜你喜欢

转载自blog.csdn.net/buxiangquaa/article/details/114001963
今日推荐