1. 基本数据类型
- 字典 是另一种可变容器模型,且可存储任意类型对象,{‘name’: morgan},查询速度快基于二分查找,存储关系型数据
- 布尔 表示两种状态
- 字符串 是用于简单操作,凡是单,双,三引号中的数据
- 数字 用于计算
- 列表 list[1, ‘str’, true],存储大量数据
- 元组 只读列表,只允许用户只读,存储大量数据
- 集合 关系测试
2.字符串
- 加,乘运算
查询
- 索引值
- 切片+步长
方法
- capitalize()#首字母大写**
- swapcase()#大小写翻转**
- title() #非字母隔开的首字母大写,就是标题的规则,每个单词第一个字母都是大写*
- center(1) #设置总长度,并居中*
- upper() #(lower)#转成全大写*—->用于将用户名密码转化为全大写,容易匹配
- startswith(‘de’,5,len(s)) #用于处理筛选以’de’开始,start_index=5到end_index=len(s)之间的数据;start_index和end_index可选*
- strip() #默认去除字符串前后的空格,换行符,制表符;用input后面一定要用此函数*
- strip(‘de’) #自定义去除,可多次去除;只能去除带有最左和最右的字符*
- lstrip() #去除最左面字符串*
- rstrip() #去除最右面字符串*
- replace(‘de’,’sb’,1) #替换old—>new—>替换次数count***
- split(‘,’) #将字符串转化成列表;默认字符串以空格分隔,也可以用其他符号分隔*
- split(‘,’,1) #设置分割次数*
- ”_”.join(l) #list(列表必须是字符串)转化成str***
- find(‘m’, 2, 5) #find,index同过元素找索引;find找不到返回-1,indx会返回错误*
- len(s) 计算字符串长度
- count(‘d’) 字符串出现次数
- isalnum() #检查字符串是否含有数字和字符
- isalpha() #检查字符串是否只含字符
- isdigit() #检查字符串是否只含数字
格式化输出
- %是占位符
- s字符串
- d表示数字
- {}按照默认位置替换
- {index}按照index替换
- {variable}按照variable替换
3.数据类型转换
str—>int int(‘123’)
int—>str str(1)
int—>bool 0—>False;非0(正整数和负整数)—>True
bool—>int
print(bool(”))=False
print(bool(’ ‘))=True
4.列表
- 增加
- append
- insert
- extend增加最小组成元素
extend(iterable)
凡是可以for循环的,都是Iterable- 删除
- 按索引删除pop
- 按元素删除remove, clear, del
- 更改
- 按索引
- 按切片(添加步长后,原列表被替代长度内存在元素位置与被更新元素个数要一致)
- 查
- 按索引查
- 按切片+步长
- 排序sort,sort(reverse=true),reverse
- 列表嵌套
- range
5.元组
- 元组切片后还是元组
- 可以用for循环
- tu1 = (1,2,[1,2],4) #元组里面的列表可以更改
6.字典
- 字典键值是唯一,用二分查找实现,最多找7次2**n<=100—>n=7,所以字典查询快。
- 字典键值是唯一的。
- 增加
- 按键值增加
- 删除pop, clear, del#删除整个字典,按照键值删除;#删除不存在容易报错,最好用pop
- 更改
- #覆盖更新,有则覆盖,无则增加
- 查
- dic.get() #有返回值
- dict.keys() #返回类似列表的容器,可以for循环,没有索引
- dict.values() #返回所有数值
- dict.items() #返回元组
6.1字典和列表嵌套出现问题
- 在循环一个列表时候,不要改变列表的大小(解决:从列表后面开始循环)
- RuntimeError: dictionary changed size during iteration(解决:用空列表存取,在进行删除)
- fromkeys问题
- 如果我们对列表增加了一个元素,比如说append一下,那么所有的列表都会append。如果直接修改值,那么不会有这样的变化
7.前后都是比较运算
- and>or>not有优先级,不是从左至右计算的
- x or y if x is True, return x
- x and y if x is True, return y
8.数据类型分类
- int, str, bool,tuple(不可变的数据类型,可以作为键值,可哈希)
- dict,list,set(可变的数据类型,不可以作为键值,不可哈希)
9.分别赋值
例子:
a,b = 1,3
a,b = [22,33]
for k,v in dict.items():
print(k,v)