字典的基本用法

字典的基本知识

1、定义:字典(Dict), 是可谈的无序集合,同时是一种以键值对为基本元素的可以存储各种数据类型的集合,用大括号{}表示字典的开始与结束,元素之间用(,)分隔。
键值对,由键和值(key, value)组成蹭用冒号(:)分隔。如tom:29 的键为tom, 对应的值为29。采用键值对,可以更加独立而紧密地表示两者之间的关系。例如tom代表姓名,29代表年龄,实现了紧密一对一关系。从键值对可以看出,字典羽毛球典型的一对一映射关系的数据类型。
2、字典键值设置要求:1)唯一性 :一个字典对象里所有的键必须唯一。2)不可变性。字典在使用过程中明确,不能对元素的键进行直接修改,例如:d5 = {“Tomx”:29, “john”:18} #Tom错写成了Tomx. 不能直接修改。

d3={1:"car", 2:"bus",2:"bus"}
print(len(d3))
print(d3)
d4 = {1:"car", 2:'bus', 2:'train'}
print(d4)
2
{1: 'car', 2: 'bus'}
{1: 'car', 2: 'train'}

3、字典的基本方法

方法名称方法功能描述
clear字典清空
copy复制生成另外一个字典
fromkeys使用给你写的键建立新的字典 ,每个键默认对应的值为None
get根据指定键,返回对应值;访问键不存在时,返回None
items以元组数组的形式返回字典中的元素
keys以可以浏览的类似列表形式返回字典中的键
values以可以浏览的类似列表形式返回字典中的值
pop删除指定键的元素,并返回指定键对应的值
popitem随机返回元素,并删除元素
setfault当字典中键不存在时,设置键值对;当存在健时,获得键对就的值
updata利用一个字典更新另一个字典

)注意字典内部的结构由哈希表构成,通过唯一的键访问对应的值,所以字典对象没有提供排序功能,字典数据类型是无序的,这是与列表、元组之间的一个明显区别。
2)列表、元组的元素允许重复,字典的元素(其实是键)不允许重复。

字典元素增加

在字典对象中,可以根据需要增加元素。
1、利用赋值给字典增加元素

d1 = {"Tom":2, 'Jim' :5}
d1["Mike"] = 8
d1
{'Tom': 2, 'Jim': 5, 'Mike': 8}

2、利用setdefault()方法给字典增加元素
setdefault()使用格式为D.setdefault(k[,d])。其中,D代表字典对象,k代表新增键,d代表新增键对应的值(如果不提供值,则默认为None)

d1 = {"Tom":2, 'Jim' :5}
d1["Mike"] = 8
d1.setdefault("Alice", 10)
d1
{'Tom': 2, 'Jim': 5, 'Mike': 8, 'Alice': 10}

字典值查找

1、字典 名+【key】查找

d1 = {"Tom":2, 'Jim' :5}
d1["Tom"]
2

2、利用get()方法查找
get()方法使用的格式为D.get(k[,d])。其中D代表字典,k为指定的键,d为键对应的值(可选)。

d1 = {"Tom":2, 'Jim' :5}
d1.get("Jim", 3)
5

字典值的修改

1、利用赋值修改键对应的值

d1 = {"Tom":2, 'Jim' :5}
d1["Tom"] = 9
d1
{"Tom":9, "jim":5}

2、利用update()方法修改键对应的值。 update()方法使用格式为D.update(d1)。其中,D代表要更新的字典 ,d1为提供更新内容的字典。若d1里提供的健在字典D里存在,则更新D里对应的键值;若d1里提供的键在D里不存在,则增加键值对。

d1 = {"Tom":2, 'Jim' :5}
d2 = {"Tom": 9, "Mike" :19}
d1.update(d2)
d1
{'Tom': 9, 'Jim': 5, 'Mike': 19}
d1 = {"Tom":2, 'Jim' :5}
d2 = {"Tom": 9, "Mike" :19}
d1.update(d2)
d1.update({"Jack":13})
d1
{'Tom': 9, 'Jim': 5, 'Mike': 19, 'Jack': 13}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值