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}

公共方法
运算符

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值