专业编程基础技术教程

网站首页 > 基础教程 正文

Python基础之字典(python字典详解)

ccvgpt 2024-07-18 12:52:27 基础教程 6 ℃

1 字典的定义

字典是一个无序的,可修改的,元素呈键值对的形式,以逗号分割的,以大括号包围的序列;

字典是python基础数据类型当中唯一一个映射关系的数据类型;

Python基础之字典(python字典详解)

由于字典无序,所以我们定义字典和字典生成之后的元素顺序是不同的;

dic = {key:value,key1:value,...}

2、字典的key的类型只能是不可变数据类型,value可以是可变数据类型

dic = {'name':'zs',10:32,(1,2,3):(2,3,4)}
print(dic)#{10: 32, 'name': 'zs', (1, 2, 3): (2, 3, 4)}
dic = {'name':'zs',10:32,[1,2,3]:(2,3,4)}
print(dic) #报错

3字典的增、删、改、查

(1)字典的增加

dic = {'name':'zs','age':10,'height':1.75}
dic.setdefault('weight',170)#setdefault {'height': 1.75, 'weight': 170, 'name': 'zs', 'age': 10}
dic.setdefault('weight',180)# 如果 key在字典中就已经存在 就不会覆盖字典中的值
dic['weight'] = 180 #根据key来设置值
dic['weight'] = 120#如果key存在,就直接覆盖掉原有的值 {'weight': 120, 'height': 1.75, 'age': 10, 'name': 'zs'}
print(dic)

(2)删除操作

dic = {'name':'zs','height':1.75}
dic.pop('name') 按照‘键’删除值
print(dic)# {'height': 1.75, 'age': 10}
dic.popitem() 随机删除一个键值对
dic.clear() 清除字典中的左右键值对
del dic 直接从内存中删除变量 , 效果是报错
deldic['name'] 根据键值对删除 

(3)修改操作

dic = {'name':'zs','age':10,'weight':1.33}
根据键来修改值
dic['name'] = '赵四'
dic1 = {'name':'赵四','height':1.75}
dic.update() 需要传递一个字典,如果key相同就直接修改对应的value,如果key不存在就直接添加键值对
dic.update(dic1)

(4)查找操作

dic = {'name':'zs','age':10,'weight':1.33}
value = dic.get('name') 根据键获取对应的值我们可以定义一个变量接收返回值
print(value)
ret = dic.key 获取所有的‘键’
values = dic.values() 获取所有的‘值’
ret = dic.items() 返回列表套元组的形式
ret = len(dic) 返回键值对个数
tup = (1,2,3,)
ret = dict.formkeys(tup,'aa') # {1: 'aa', 2: 'aa', 3: 'aa'}
print(ret)

4.python字典的特点

因为字典是无序的,所以没有索引值

因为字典没有索引值,所以字典以键取值,(字典的键相当于列表的索引)

因为自电视以键取值,所以字典的键具有唯一性,且不可修改

因为字典的键不可修改,所以列表和字典可变类型的数据不可以给字典做键

5.字典的遍历

in 判断指定的键是否在字典中

not in 判断指定的键是否不再字典中

dic = {'name':'zs','weight':129,'age':10}
for key,value in dic.items():
 print(key,'---',value)
结果:
age --- 10
name --- zs
weight --- 129

for.....in ...... 通过for.....in ...... :的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构

in 和not in
dic = {'name':'zs','weight':129,'age':10}
key = dic.keys()
if 'name' not in keys:
 dic['name'] = '赵四'
else:
 dic['name'] = '尼古拉斯' dict_keys(['age', 'name', 'weight'])
 {'age': 10, 'name': '尼古拉斯', 'weight': 129}
print(dic)
for key in dic.key(): # 只获取key
 print(key)
 结果: name
 weight
 age

Tags:

最近发表
标签列表