python的基础——字典

  • 一、字典的介绍
  • 二、软件开发中的字典
  • 三、字典的常见操作


一、字典的介绍

字典既能存储多个数据,还能在访问元素的很方便。
字典和列表一样,也能够存储多个数据。
列表中找某个元素时,是根据下标进行的。
字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
字典的每个元素由2部分组成,键(key):值(value)。例如 'name':'项目经理' ,'name'为键(key),'项
目经理'为值(value)

二、软件开发中的字典

根据键访问值

info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
print(info["name"])
print(info["address"])

python 字典个数 python字典键的个数_分隔符


假设:若访问不存在的键,会出现什么情况呢?

info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
print(info["age"])

python 字典个数 python字典键的个数_python 字典个数_02


假设:若访问不存在的键,可以使用get()方法。

info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
age = info.get("age")
print(age)
print("------分隔符------")
print(type(age))

python 字典个数 python字典键的个数_分隔符_03


info中不存在’age’这个键, 我就让它返回默认值18

info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
age = info.get("age",18)
print(age)
print("------分隔符------")
print(type(age))

python 字典个数 python字典键的个数_python_04

三、字典的常见操作

修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
newId = input('请输入新的学号')
info['id'] = int(newId)
print('修改会后的id为%d:'%info['id'])

python 字典个数 python字典键的个数_python_05


添加元素

info = {"name":"项目经理","id":100,"sex":"f","address":"地球亚洲中国北京"}
info["class"]="10B"
print(info)

python 字典个数 python字典键的个数_项目经理_06


访问不存在的元素

info = {"name":"项目经理","sex":"f","address":"地球亚洲中国北京"}
print("id为:%d"%info["id"])

python 字典个数 python字典键的个数_python_07


添加新的元素
如果在使用 变量名[‘键’] = 数据 时,这个“键”在字典中,则修改数据,不存在,那么就会新增这个元素

info = {"name":"项目经理","sex":"f","address":"地球亚洲中国北京"}
newId = input("请输入新的学号")
info['id'] = newId
print('添加之后的id为:%d'%info['id'])

python 字典个数 python字典键的个数_项目经理_08


删除元素
对字典进行删除操作,有一下几种:
(1)del
(2)clear() ---- 清空
:del删除指定的元素(删除后不能访问,否则会报错)

info = {"name":"项目经理","sex":"f","address":"地球亚洲中国北京"}
print("删除前,%s"%info["name"])
del info["name"]
print("删除后,%s"%info["name"])

python 字典个数 python字典键的个数_python_09


del删除整个字典

info = {'name':'monitor','sex':'f','address':'China'}
print('删除前,%s'%info)
print("------分隔符01------")
del info
print("------分隔符02------")
print('删除后,%s'%info)

python 字典个数 python字典键的个数_python_10


clear清空整个字典

info = {'name':'monitor','sex':'f','address':'China'}
print('清除前,%s'%info)
info.clear()
print('清空后,%s'%info)

python 字典个数 python字典键的个数_python 字典个数_11


len() 测量字典中,键值对的个数

dict01 = {"name":"zhangsan","age":18}
print(len(dict01))

python 字典个数 python字典键的个数_项目经理_12


keys 返回一个包含字典所有KEY的列表

dict = {"name":"zhangsan","age":18}
print(dict.keys())

python 字典个数 python字典键的个数_项目经理_13


values 返回一个包含字典所有value的列表

dict = {"name":"zhangsan","age":18}
print(dict.values())

python 字典个数 python字典键的个数_项目经理_14


items 返回一个包含所有(键,值)元祖的列表

dict = {"name":"zhangsan","age":18}
print(dict.items())

python 字典个数 python字典键的个数_数据_15


遍历
通过for … in … 我们可以遍历字符串、列表、元组、字典等
注意python语法的缩进
字符串遍历

a_str = "hello world"
for i in a_str:
    print(i,end=" ")

python 字典个数 python字典键的个数_python 字典个数_16


列表的遍历

a_list = [1,2,3,4,5]
for i in a_list:
    print(i,end=" ")

python 字典个数 python字典键的个数_分隔符_17


元组的遍历

a_turple = (1,2,3,4,5)
for i in a_turple:
    print(i ,end=" ")

python 字典个数 python字典键的个数_python_18


字典的遍历
遍历字典的key(键)

dict = {"name":"zhangsan","age":18}
for key in dict.keys():
    print(key)

python 字典个数 python字典键的个数_python_19


字典的遍历
遍历字典的value(值)

dict = {"name":"zhangsan","age":18}
for value in dict.values():
    print(value)

python 字典个数 python字典键的个数_python_20


字典的遍历
遍历字典的items(元素)

dict = {"name":"zhangsan","age":18}
for item in dict.items():
    print(item)

python 字典个数 python字典键的个数_分隔符_21


字典的遍历
遍历字典的items(键值对)

dict = {"name":"zhangsan","age":18}
for key,value in dict.items():
    print("key = %s,value = %s"%(key,value))

python 字典个数 python字典键的个数_python_22


enumerate()
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

chars = ['a','b','c','d']
for i,chr in enumerate(chars):
    print(i,chr)

python 字典个数 python字典键的个数_分隔符_23


添加元素(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}

公共方法
运算符

python 字典个数 python字典键的个数_分隔符_24