python之字典

文章详细介绍了Python字典的定义、创建方式,包括通过大括号和内置函数dict()。讨论了字典的访问方法,如通过键访问和get方法,以及获取所有值的方式。接着阐述了字典的增、改、删、查操作,并举例说明。最后,展示了字典在统计字符个数中的应用,强调了其在数据处理中的作用。
摘要由CSDN通过智能技术生成

一、字典的定义:

无序的,可变的键值对集合,可变即存储任意类型的对象。

二、字典的定义形式:

d={ key1 : value1,key2 : value2,key3 : value3}

注意:

1、键(key)是唯一的,不可变的,而值(value)不是唯一的,而且可取任何数据类型

2、一个key+一个对应的value是一个item

3、不要以dict作为变量名,因为dict是一个内置函数,容易引发错误

4、字典的长度同字符串的长度求法:len(x)

三、创建空字典

1、使用大括号创建

emptydict={}
print(emptydict)

2、使用内置函数创建

emptydict=dict()
print(emptydict)

四、访问字典

1、通过键进行访问:

infor={'name':'lily','age':18,'sex':'girl'}
print(infor['name'])
infor={'name':'lily','age':18,'sex':'girl','name':'mary'}
print(infor['name'])     #输出mary,前面一个被后面那个代替,每一个键值对都是唯一的

输出部分:

 

2、get获取单个值

#get(获取单个值)
infor={'name':'lily','age':18,'sex':'girl'}
v=infor.get("age")#如果用了没有的键值对,会打印NONE,不会报错
print(v)#18

3、获取全部值:以元组的形式返回

#获取所有的值
#dic.values()
p={"zimu":"a","number":3}
print(p.values())#查找出p集合中对应key的值
print(p.keys())
print(p.items())

输出部分:

 五、字典的增删改查

1、增

infor['height']=100
print(infor)   #{'name': 'mary', 'age': 18, 'sex': 'girl', 'height': 100}

2、改

改值,不可改键

#只能改值,不能改key修改单个
infor['sex']='boy'
print(infor)
#输出{'name': 'mary', 'age': 18, 'sex': 'boy', 'height': 100}

也可用update进行更新:

#如果旧字典没有,就新增key
c={"zimu":"a","number":3}
c.update({"hanzi":"wuyu"})
print(c)#打印{'zimu': 'a', 'number': 3, 'hanzi': 'wuyu'}
c.update({"zimu":"b"})
print(c)#打印{'zimu': 'b', 'number': 3, 'hanzi': 'wuyu'},将原来的a改成了b

3、删

clear()  #(清空整个字典)
del infor['name']  #删除指定的,键值对和值都会一起被删除

#dic.pop(key[,default])
#删除指定的键值对,并返回对应的值
#如果key不存在,就直接返回给定的default 值
d={"zimu":"a","number":3}
v=d.pop("zimu")
print(v,d)#打印:a {'number': 3}
#popitem()
#删除按升序排序后的第一个键值对,并以元组的形式返回该键值对,看key
#若字典为空,则会报错
t={"zimu":"a","number":3}
result=t.popitem()
print(t,result)#打印:{'zimu': 'a'} ('number', 3)(这是删除的)

删除后会返回删除的

4、查:即访问字典

六、字典的遍布(注释部分为输出),infor为字典名称

#获取键值对
#直接遍历
for key in infor.keys():#找键------keys
    print(key)
'''
name
age
sex
height

'''
for value in infor.values():#找值------value
    print(value)
'''
mary
18
boy
100

'''
for key,value in infor.items():#找键值对 key,value   items  打印出对应的
    print("key=%s,value=%s"%(key,value))

'''
key=name,value=mary
key=age,value=18
key=sex,value=boy
key=height,value=100

'''

for item in infor.items():#找元素 items 所有的
    print(item)

'''
('name', 'mary')
('age', 18)
('sex', 'boy')
('height', 100)

'''

七、字典的小应用:利用字典统计字符个数

n=input()
n=list(n)
count={} #字典的定义
s=0
#统计字符数的通用操作,计数,循环计数
for i in n:
    if i in count:
        count[i]+=1
    else:
        count[i]=1
print(count)
#分类函数,默认升序,reverse=true 为降序 false 为升序
count=sorted(count.items(),reverse=True)
#转换为字典类型
count=dict(count)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值