Python基础(三)
【摘要】
大家好,今天小编给大家带来的是Python基本的数据结构-----字典。
Python字典是另一种可变容器模型,可存储任意类型对象,如字符串、数字、元组、列表等其他容器模型。
在Python的字典中,有两个关键的概念:键和值。而字典本身则是由许多对键值组成的。现在我们定义一个基本的字典来瞧瞧:
info={"name":"Dolphin","age":25...
大家好,今天小编给大家带来的是Python基本的数据结构-----字典。
Python字典是另一种可变容器模型,可存储任意类型对象,如字符串、数字、元组、列表等其他容器模型。
在Python的字典中,有两个关键的概念:键和值。而字典本身则是由许多对键值组成的。现在我们定义一个基本的字典来瞧瞧:
info={"name":"Dolphin","age":25,"gender":"male"}
以上便定义了一个叫info的字典,在字典中存放了三对信息,分别是name,age和gender,每对信息(键和值)之间使用:来连接,每组和每组之间则是用逗号隔开,信息最外面则是用大括号括住,通过以上这个例子我们可以看出字典具备以下特点:
1、键和值之间用“:”进行连接
2、每组信息之间“,”进行隔开
3、所有的元素信息都在“{}”里面
dict = {key1 : value1, key2 : value2 }
通过这些提示我们也不难看出字典本身这个东西是无序的,因为我们都是要依靠某个key去访问某个value,在这里已经不存在下标的说法了,所有这里就有个重点:
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
通过以上概念性的解释我们就能创建一个简单的字典了,那我们如何具体去访问字典里的值呢?很简单,我们刚刚已经说了,通过Key去访问值。
比如我们访问info字典name对应的值:
info={"name":"Dolphin","age":20,"gender":"male"}
print(info["name"])
输出:
Dolphin
同样的,访问age:info["age"]
输出:20
如果你访问的key在字典中没有值的话,那么系统会报错:
print(info["num"])
输出:
KeyError: 'num'
系统读不到叫num的这个key,就会报keyerror的错。
这边有个知识强调一下:字典的键值是"只读"的,所以不能对键和值分别进行初始化
看个例子:
dic = {}
dic.keys = (1,2,3,4,5,6)
dic.values = ("a","b","c","d","e","f")
输出:
AttributeError: 'dict' object attribute 'keys' is read-only
AttributeError: 'dict' object attribute 'values' is read-only
下面我们讲一下对字典的基本操作:
修改字典
修改字典直接指定字典的key和value即可
如果key存在,你给他指定新的值就完成了值的修改
如果key和值都不存在,就是向字典中添加一对新的键值对。
info={"name":"Dolphin","age":20,"gender":"male"}
info["num"]=120023
info["gender"]="female"
print(info)
输出:
{'num': 120023, 'age': 20, 'name': 'Dolphin', 'gender': 'female'}
在这里小编给大家看一下代码运行三次的截图:
三次输出的结果虽然是一样的,但是顺序却一直在发生变化,这也正好能说明字典的无序性。
删除字典及元素
删除字典中的元素,调用clear()方法
info.clear()
print(info)
输出:[]
删除整个字典:调用del函数
del info
print(info)
输出:
NameError: name 'info' is not defined
因为整个info都被删除了,就和没定义是一样的。所以会报错。
字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
info={"name":"Dolphin","age":20,"gender":"male","age":100}
print(info["age"])
输出:
100
字典的内置方法
radiansdict.clear() 删除字典内所有元素 |
这个刚刚已经演示过了
radiansdict.copy() 返回一个字典的浅复制 |
info={"name":"Dolphin","age":20,"gender":"male"}
info2=info.copy()
print(info2)
输出:
{'gender': 'male', 'age': 20, 'name': 'Dolphin'}
radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
info2=info.fromkeys("hello","world")
print(info2)
输出:
{'l': 'world', 'e': 'world', 'o': 'world', 'h': 'world'}
radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
效果和info[key]是一样的
info={"name":"Dolphin","age":20,"gender":"male"}
print(info.get("name"))
输出:Dolphin
radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 |
info={"name":"Dolphin","age":20,"gender":"male"}
print(info.items())
输出:dict_items([('gender', 'male'), ('name', 'Dolphin'), ('age', 20)])
radiansdict.keys() 以列表返回一个字典所有的键 |
info={"name":"Dolphin","age":20,"gender":"male"}
print(info.keys())
输出:
dict_keys(['name', 'gender', 'age'])
radiansdict.values() 以列表返回字典中的所有值 |
info={"name":"Dolphin","age":20,"gender":"male"}
print(info.values())
输出:
dict_values(['Dolphin', 20, 'male'])
pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
info={"name":"Dolphin","age":20,"gender":"male"}
info.pop("gender")
print(info)
输出:
{'name': 'Dolphin', 'age': 20}
今天就到这里吧!
下期见!
文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/tongtongjing1765/article/details/100581654
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)