字典、列表、元祖、字符串的综合(1)

本文介绍Python字典的基本操作,包括keys方法、setdefault与get方法的应用,并通过实例展示了如何统计字符串中各字母出现的次数。同时,还探讨了字典键的选择原则以及字符串的count方法使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.字典拥有keys方法,例如:

h = {'t':1,'a':2,'o':3,'r':4}
print(type(h.keys()))
#输出结果为:
#<class 'dict_keys'>
如果要使用列表方法要先用list()将其转换为列表类型

2.字典的setdefault和get方法的应用——统计一个字符串中各字母出现的次数

def counts(index):
   dict_crea = {}
   for i in index:
       dict_crea.setdefault(i,0)
       dict_crea[i] += 1
   return dict_crea
index = "This is a test"
print(counts(index))
#输出结果为:
#{'T': 1, 'h': 1, 'i': 2, 's': 3, ' ': 3, 'a': 1, 't': 2, 'e': 1}

setdefault原理:若字典内部有名为i的键,则什么操作也不会做,否则执行dict_crea[i] = 0


for循环内部也可以换成:

dict_crea[i] = dict_crea.get(i,0) + 1
get原理:若字典内部有名为i的键,则返回该键所映射的值,否则返回0

3.字典的键

python的字典是基于散列表(Hash table)实现的,也就是键必须是可散列的,即hashable

Python中,整形,浮点型,字符型等不可变数据类型是可散列的,列表和字典等可变类型是不可散列的。

即列表和字典不能作为字典的键。例如:

dict_crea = {}
lists = ['1','2']
dict_crea[lists] = 5
#会弹出错误信息如下:
TypeError: unhashable type: 'list'

4.str.count(sub,start,end)

用于统计sub字符在str从start——end范围内出现的次数

start,end均指下标,且不包含end,start默认为0,end默认为字符串长度

例如:

s = 'This is a test for the function count,the result is:'
sub = 'T'
sub2 = 'is'
print(s.count(sub,0,1))
print(s.count(sub2,2,3))
print(s.count(sub2,2,4))
#输出结果为:
1
0
1



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值