python的基础——字典
- 一、字典的介绍
- 二、软件开发中的字典
- 三、字典的常见操作
一、字典的介绍
字典既能存储多个数据,还能在访问元素的很方便。
字典和列表一样,也能够存储多个数据。
列表中找某个元素时,是根据下标进行的。
字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
字典的每个元素由2部分组成,键(key):值(value)。例如 'name':'项目经理' ,'name'为键(key),'项
目经理'为值(value)
二、软件开发中的字典
根据键访问值
info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
print(info["name"])
print(info["address"])
假设:若访问不存在的键,会出现什么情况呢?
info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
print(info["age"])
假设:若访问不存在的键,可以使用get()方法。
info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
age = info.get("age")
print(age)
print("------分隔符------")
print(type(age))
info中不存在’age’这个键, 我就让它返回默认值18
info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
age = info.get("age",18)
print(age)
print("------分隔符------")
print(type(age))
三、字典的常见操作
修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
newId = input('请输入新的学号')
info['id'] = int(newId)
print('修改会后的id为%d:'%info['id'])
添加元素
info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
info["class"]="10B"
print(info)
访问不存在的元素
info = {"name":"项目经理","sex":"f","address":"地球亚洲中国北京"}
print("id为:%d"%info["id"])
添加新的元素
如果在使用 变量名[‘键’] = 数据 时,这个“键”在字典中,则修改数据,不存在,那么就会新增这个元素
info = {"name":"项目经理","sex":"f","address":"地球亚洲中国北京"}
newId = input("请输入新的学号")
info['id'] = newId
print('添加之后的id为:%d'%info['id'])
删除元素
对字典进行删除操作,有一下几种:
(1)del
(2)clear() ---- 清空
:del删除指定的元素(删除后不能访问,否则会报错)
info = {"name":"项目经理","sex":"f","address":"地球亚洲中国北京"}
print("删除前,%s"%info["name"])
del info["name"]
print("删除后,%s"%info["name"])
del删除整个字典
info = {'name':'monitor','sex':'f','address':'China'}
print('删除前,%s'%info)
print("------分隔符01------")
del info
print("------分隔符02------")
print('删除后,%s'%info)
clear清空整个字典
info = {'name':'monitor','sex':'f','address':'China'}
print('清除前,%s'%info)
info.clear()
print('清空后,%s'%info)
len() 测量字典中,键值对的个数
dict01 = {"name":"zhangsan","age":18}
print(len(dict01))
keys 返回一个包含字典所有KEY的列表
dict = {"name":"zhangsan","age":18}
print(dict.keys())
values 返回一个包含字典所有value的列表
dict = {"name":"zhangsan","age":18}
print(dict.values())
items 返回一个包含所有(键,值)元祖的列表
dict = {"name":"zhangsan","age":18}
print(dict.items())
遍历
通过for … in … 我们可以遍历字符串、列表、元组、字典等
注意python语法的缩进
字符串遍历
a_str = "hello world"
for i in a_str:
print(i,end=" ")
列表的遍历
a_list = [1,2,3,4,5]
for i in a_list:
print(i,end=" ")
元组的遍历
a_turple = (1,2,3,4,5)
for i in a_turple:
print(i ,end=" ")
字典的遍历
遍历字典的key(键)
dict = {"name":"zhangsan","age":18}
for key in dict.keys():
print(key)
字典的遍历
遍历字典的value(值)
dict = {"name":"zhangsan","age":18}
for value in dict.values():
print(value)
字典的遍历
遍历字典的items(元素)
dict = {"name":"zhangsan","age":18}
for item in dict.items():
print(item)
字典的遍历
遍历字典的items(键值对)
dict = {"name":"zhangsan","age":18}
for key,value in dict.items():
print("key = %s,value = %s"%(key,value))
enumerate()
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
chars = ['a','b','c','d']
for i,chr in enumerate(chars):
print(i,chr)
添加元素(add,update)
add
set1 = {1, 2, 4, 5}
#添加元素
set1.add(8)
update
set1 = {1, 2, 4, 5}
#是把要传入的元素拆分,做为个体传入到集合中
set1.update("abcd")
删除元素(remove,pop,discard)
remove
set1 = {1, 2, 4, 5}
使用remove删除集合中的元素 如果有 直接删除 如果没有 程序报错
set1.remove(22)
pop
set1 = {1, 2, 4, 5}
使用pop删除是随机删除集合中的元素 如果set1没有元素讲程序报错
set1.pop()
discard
set1 = {1, 2, 4, 5}
使用discard删除 如果元素存在 直接删除 如果元素不存在 不做任何操作
set1.discard(2)
交集和并集( & 和 | )
交集
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 & set2
print(new_set)
{3, 4}
并集
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 | set2
print(new_set)
{1, 2, 3, 4, 5, 6}
公共方法
运算符