一、数据类型
数据类型:数字,字符串,列表,字典,元组,集合,布尔类型,None
- 整数(int) 数学中的整数
- 浮点数(float) 数学中的小数
- 布尔值(bool) True和False
- 字符串(str) 不可变的对象,可通过索引取值,所有input函数接收的数据都是字符串,如果接 收了整数,可以通过int()函数强转为整数类型,如果是小数,则需要float()强转
- 列表(list) 有序的数据集合,他是支持增删改查的(CRUD)
- 元组(tuple) 1.1 一组不可变的序列,用()来创建
1.2 支持索引,切片
1.3 列表会有预留空间,针对一些数据个数是固定的情况,建议使用元组,占用 的内存空间可能更小 1.4 元组是可hash化的 hash值他要求在整个变量的生命周期过程中不能改变 元组不可变---hash值就不会变 列表可变--hash值就变了 1.5 元组一般用来做记录数据和日志记录 - 集合(set) a.就是字典的key
b.无序的
c.不重复
d.{} - 字典(dict) key(键)---value(值),用{}包裹
- 空值(NoneType)None
1.整数的操作
指数: 底数 ** 次数
2.浮点数
精度丢失 0.1 + 0.3 = 0.400000004
3.布尔值
True False
常用做;逻辑运算
4.字符串的操作
切片,索引
str = '0123456789'
str[0] = 0 str[0:2] = 01
去空格
str.strip()
替换
str.replace(原来的字符, 新的字符, 次数)
str = '0123456789'
str.replace('0', '1') str = '1123456789'
分隔
str.split('分割的字符')
str.split('3') ['012', '456789]
5.列表
列表的创建
1.list = []
2.使用list()函数转化
列表的深浅拷贝lst = [a, b, [c, d]]
浅拷贝时子列表说同一个列表,未开辟新的内存
深拷贝不管值是否一样,都开辟了新的内存
列表的排序 list.sort(reverse=True) 降序[False升序]
列表的打乱 list.shuffle(list)
列表的翻转 list.reverse(list)
列表的添加 list.append(内容) 添加到最后一个
列表的删除 list.pop() 默认是第0位,如果括号内有数字,则寻找下标删除
list.remove(内容) 如果有内容就会删除,否则报错
list.clear() 清除列表的全部内容
6.元组
暂时留着,后续整理
7.字典的操作
1.特点
a.它是以键值对的方式保存数据
b.它保存每一对数据是无序的
c.我们可以将它的键通过计算或者一个地址值(hash)
d.key是不重复的,value是可以重复的
e.键值对修改数据的方式效率较高
2.创建
dic = {}
dic['键'] = '值'
3.字典推导式
{键表达式:值表达式 for 变量 in 序列}
{键表达式:值表达式 for 变量 in 序列 if 条件}
获取所有的键/值 dict.keys()/values()
修改/新增 dict[key] = value
删除 dict.pop(指定的key)/dict.clear() 全部删除
8.集合
'''
集合的使用
'''
name_1 = {'圆子', '黄老师', '龙仔'}
print(type(name_1))
print(name_1)
name_2 = set('abcdefg')
# 添加元素
name_2.add('张三')
print(name_2)
# 固定集合-->相当于变成元组类型,可hash化
name_3 = frozenset('abcde')
# name_3.add(2)
print(name_3)
# 固定集合的意义: 集合内的元素他是根据hash值来计算位置的
# 当出现这种集合里面嵌套集合元素的时候,建议内部集合使用固定集合,因为使用固定集合,元素不会发生变化,
# 那么内部的集合就是可以hash化的
name_4 = {name_3, 'a'}
# 2.添加元素
# 2.1 add
# 2.2 update: 单个元素直接添加,多个会拆分再添加进去
name_1.update('3')
print(name_1)
name_1.update('123') # 去类比列表里面 extend
print(name_1)
# 3.取值:直接for循环,因为他是无序的,没有索引
if '张三' in name_1:
print('张三存在name_1')
for i in name_1:
print(i)
# 4.删除
# name_1.remove(element),存在则删除,不存在,报异常
name_1.remove('龙仔')
print(f'使用remove()删除以后:{name_1}')
# 随机删除(已经存在集合里面的'第一个')
name_1.pop()
print(f'使用pop()删除以后:{name_1}')
# 清空
name_1.clear()
print(f'使用clear()删除以后:{name_1}')
# 5.数学
a = set('abcd')
b = set('abe')
# 差集 :a里面有的b里面没有
print(a-b)
print(a.difference(b))
# 并集:集合a和b不重复的所有元素
print(a|b)
print(a.union(b))
# 交集:集合a和b都有的元素
print(a&b)
print(a.intersection(b))
# 补集:不同时包含a和b的
print(a^b)
print(a.symmetric_difference(b))
二、运算符
参考之前写的[python的字符串解编码及运算符]
http://t.csdn.cn/rjClt