数据类型的补充
1.str
s1 = str(“abc”) #类型转换
s.capitalize() #首字母大写
s.title() #每个单词首字母大写
s.count() #统计出现的次数
s.find() #查找 查找不到的时候返回-1
s.index() #查找 找不到就报错
2.list
li = list(“1234”)
li.count() #统计
li.index() #查看
li.reverse() #反转
li.sort() #排序 升序
li.sort(reverse = True) #降序
3.tuple
tu = tuple("12345")
tu.count("3") #统计
tu,index("1") #查找
4.dic
dic = dict(k=1,k=2)
dic.popitem() #随机删除 3.6版本以上 默认删除最后一个键值对
dic.fromkeys("123",1) #批量创建
#第一个参数是可迭代对象
#第二个参数是每个键对应的值 ----用的都是同一个内存地址
5.set
s = set("1234") #定义方式
数据类型转换:
str>>>int
s = "1111"
n = int(s) #字符串中都必须是十进制的数,才可以进行转换
int>>>str
n = 123
s = str(n)
str>>>list
s = "123"
li.list(s) #转列表
s.split(s) #转列表
s.join(li) #转列表 join中不能有整型int
list>>>tuple
li = [1,2,3]
tu = tuple(li)
set>>>list
set = {12,3,4}
list(s)
list>>>set
li = [1,2,3]
s = set(li)
总结:
字符串----数字:字符串中必有都是十进制的数字
数字----字符串:直接转
列表----字符串:''.join()
字符串----列表:split
除去字典外,容器数据类型之间可以直接相互转换
总结2:
str,int,bool,list,tuple,dict,set
有序:str,int,bool,list,tuple
无序:dict,set
可变:list,dict,set
不变:str,int,bool,tuple
访问方式:
直接访问:int,bool,set
顺序访问:list,tuple,str
键访问:dict
各种大坑
删除列表
使用for删除列表的时候从左往右删会报错,因为索引值会改变
字典for的时候怎么删除键值对
不能在遍历字典本身中改变大小,要批量删除字典的键值对
题
li = [] for i in zhubo: li.append(zhubo[i]) count = len(li) zhubo_avg = sum(li[0:count]) / count print(zhubo_avg) for i1 in list(zhubo.keys()): if zhubo[i1] < zhubo_avg: del zhubo[i1] print(zhubo) #for循环键值对
编码进阶
编码
s = “今天晚上,吃鸡!” s1 = s.decode("utf-8") #编码 s1 = s.encode("utf-8") #解码 #Python3内存中使用的就是unicode #Python2中内存使用的就是ASCII
总结:用什么编的码,就用什么去解
解码