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

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



字符串列表、元组和字典都是Python中常用的数据类型。 字符串是由字符组成的序列,可以使用索引来访问字符串中的单个字符。例如,可以使用字符串[::-1]来反转字符串列表是由多个元素组成的有序序列,可以包含任意类型的元素。可以使用索引来访问列表中的元素,并且可以对列表进行添加、删除和修改等操作。 元组也是由多个元素组成的有序序列,与列表类似,但是元组是不可变的,即不能修改元组中的元素。 字典是由键值对组成的无序集合,每个键值对都是字典中的一个元素。可以使用键来访问字典中的值,并且可以对字典进行添加、删除和修改等操作。 对于字符串的操作,可以使用title()方法将字符串中每个单词的首字母大写,或者使用capitalize()方法将字符串的第一个字符大写。 对于列表和元组的操作,可以使用索引来访问元素,使用append()方法在列表的末尾添加元素,使用remove()方法删除指定的元素。 对于字典的操作,可以使用键来访问字典中的值,使用update()方法添加或修改字典中的键值对,使用del关键字删除指定的键值对。 例如: 字符串操作: name = 'abcdef' reversed_name = name[::-1] print(reversed_name) # 输出:fedcba 列表操作: numbers = [1, 2, 3, 4, 5] numbers.append(6) numbers.remove(3) print(numbers) # 输出:[1, 2, 4, 5, 6] 元组操作: fruits = ('apple', 'banana', 'orange') print(fruits) # 输出:banana 字典操作: person = {'name': 'Alice', 'age': 25} print(person['name']) # 输出:Alice person.update({'age': 26, 'gender': 'female'}) del person['age'] print(person) # 输出:{'name': 'Alice', 'gender': 'female'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值