7:python第三章:更多的数据类型2(字典)

7.1字典的介绍与一般的特征

字典,在python中是一种数据类型,他的存在方式与列表是不一样且看上去较为特殊。

字典使用大括号{},所以看到大括号的数据类型就是字典。字典的元素构成不在是简单的一个值,类似与列表一样[“apple”,“orange“]这样了,而是由两个部分组成。

dic={key1: value1,key2:value}

这里的一个元素由key(键)与value(值)来表示(并且key后面用冒号隔开,然后紧接着是value。)这里可以理解成有点想电话号码表,比如说,小明的电话:多少多少多少,这样子的感觉。举个例子

dic={"小李":125467854313,"小明":2938193848919}
print(dic)

这里key1是小李,那么value1是小李的电话。以此类推即可 

当然不仅仅是电话,比如说要做一张调查表,需要你的名字(name),性别(gender),职业(occupation),等等这里也是属于字典的范畴。所以可以看一下(这里是假设哈)

dic={"name":"x", "gender":"male", "occupation":"scientist" }
print(dic)

这个就是基本的字典,接着我们要了解一些字典的特性与关于字典的一些函数与方法。

7.2字典的特性与一些关于字典的方法

7.2.1访问字典

字典中使用了键:值的格式,如果我想调出这个元素的话,这个叫做访问字典,那如何访问呢,这个也是非常简单的。

dic={"name":"x", "gender":"male", "occupation":"scientist" }
print("name:", dic['name'])

在这里print中dic(字典的名字)[你需要的那个键],这样子就能调出你想要的东西。

最后打印出来就是 name:x

如果字典中没有数据的话,那么打印出来将会报错。

dic={"name":"x", "gender":"male", "occupation":"scientist" , "unversity": }
print("name:", dic['unversity'])

VScode本身也会对你这个代码进行报错,会产生红线。

7.2.2字典的特性1:键不能重复性

那么我们知道这么去访问(其实就是调出我们想要的元素),那么做一个合理的假设,字典中有两个一摸一样的键会发生什么样的神奇现象,并且我们使用访问的方法调用一下那个键,会发生什么样的状况。

dic={"name":"x", "gender":"male", "occupation":"scientist" , "favorite":"play games", "name":"Charles"}
print("name:", dic['name'])

接下来运行一下看结果是怎么样的

所以在字典中,如果你使用了两个一样的键的话,使用访问,调出那个数据的时候,总会是后面那个键。

所以并不是使用了两个同样的键就会报错,是使用了同样的键之后,调用起来并不方便,很容易混淆,因为打印出来总是后面的那个值。

所以一般我们并不在字典中使用两个一样的key。

7.2.3字典的合成与改变

7.2.3.1字典的合成

在学习了字典之后,我们知道会有“键:值”,两个部分组成,那么这两个部分能不能由两个列表进行拼凑而成。

这里的答案是肯定的,但是这里需要两个列表,原因不多说了。可以来看一下例子(内容是虚假的哈)

list1 = ['Author', 'age', 'sex']
list2 = ['Charles Wesley', 100000, 'male']
dic1 = dict(zip(list1, list2))
print(dic1)

这里使用了dict()将对应的数据类型改成字典这种数据类型,然后zip在电脑中有数据包这样的含义,在python中有两者一一对应的感觉,第一个对第一个,感觉是将两个打包了一样。所以最后打印出来就是一一对应的一个字典

7.2.3.2字典的改变
7.2.3.2.1字典的修改

字典的修改有点像,变量的二次赋值。可以通过例子来学习

list1 = ['writer', 'age', 'gender']
list2 = ['Charles', 101010101, 'male']
dic = dict(zip(list1, list2))
dic["writer"]="Wesley"
print(dic)

这个打印出来就成了

所以字典的内容就被修改了.

7.2.3.2.2字典的删除

这里介绍的是删除字典中的内容。这里使用的del这个函数

可以看一下例子(很好理解)

list1 = ['writer', 'age', 'gender']
list2 = ['Charles', 101010101, 'male']
dic = dict(zip(list1, list2))
dic["writer"]="Wesley"
del dic["writer"]
print(dic)

这个要注意,并不是只有key或者value被删除了,是这个整体都被删除了,因为这个整体是一个元素。

如果想要删除整个字典的话也非常简单

list1 = ['writer', 'age', 'gender']
list2 = ['Charles', 101010101, 'male']
dic = dict(zip(list1, list2))
dic["writer"]="Wesley"
del dic
print(dic)

这里代表字典已经全部被删掉了。

并且pop函数与popitem这两个也能进行操作

首先介绍一下pop函数

list1 = ['writer', 'age', 'gender']
list2 = ['Charles', 101010101, 'male']
dic = dict(zip(list1, list2))
dic["writer"]="Wesley"
writer=dic.pop("writer")
print(dic)

这里删除了writer这个元素。

然后使用popitem将会删除这个字典中最后的一个元素。

list2 = ['Charles', 101010101, 'male']
dic = dict(zip(list1, list2))
dic["writer"]="Wesley"
ahsnen=dic.popitem()
print(dic)

这里就是删除了整个字典中最后一个元素

7.2.4字典的特性2:key的不可变性

在字典中key的值非常重要,不能重复,不能改变(不能使用一些摸棱两可的数据类型)。可以使用数字,字母等确定的数据类型。

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值