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