1.数据类型补充
-
str:
首字母大写 .capitalize()
每个单词首字母大写 .title()
统计 .count() 出现的次数
大小写转换 .swapcase()
查找 .find() 打印出来的是索引值,查找不到的时候返回的是-1 .index() 查找不到就报错
-
list
li = list(""1234) 定义的方式
反转 .reverse()
排序 .sort()升序 .sort(reverse=True) 降序
-
tuple tu = tuple("12345) 定义
统计 .count
查找 .index
-
dict dic = dict{k=1,k1=2} 定义方式
随机删除: dic.popitem() 在python3.6版本默认删除最后一个键值对,python3.6版本以前随机删除
批量创建字典 dict.fromkeys() 第一个参数是可迭代对象 第二个参数是每个键对应的值,用的都是同一个内存地址
集合: s = set("1234") 定义方式
- 数据类型转换 str--int 字符串中必须都是十进制的数 才能进行转换 int--str str---list list--str list---tuple tuple---list set--list list--set
s = "1111"
n = int(s)
总结:
字符串-----数字:字符串中必须都是十进制的数字
数字---字符串:直接转换
列表---字符串:"".join()---可迭代的对象中不能出现数字
字符串----列表:split
除字典外,容器数据类型之间可以直接相互转换
-
总结:
str,int,bool,list,tuple,dict,set
有序:
str,int,bool,list,tuple
无序:
dict,set
可变:
list,dict,set
不可变:
str,int,bool,tuple
访问方式:
直接访问:int,bool
顺序访问:list,tuple,str
通过键访问: dict
2.以后会遇见的坑
-
删除列表的时候
使用for删除列表的时候从左向右删除,会报错,结果不对
-
字典for的时候怎么删除键值对
-
面试题
-
编码的进阶:python3中内存使用的就是unicode
1.编码
gbk
.encode 中文转换成字节
.decode("gbk") 字节转换成字符串
2.解码
总结:
循环删除列表索引的时候,要倒序删除否则会报错或者结果不正确
循环添加列表元素的时候,会形成死循环
字典在循环的时候不嫩改变字典本身的大小先建一个列表,然后循环列表删除
编码的进阶:
编码:encod()
解码decode()
用什么编码集编码就用什么编码集解码