一.字典类型操作
这里python的字典其实就是java的map集合。只是换了一个名字。
用于保存键值对的数据也就是(key-value)
1.1 语法
# 字典类型 zidian = {'name':'代码人','age':'19'} #空字典 zidian2 = {} dict3 = dict()
1.2使用 添加
# 字典类型 zidian = {'name':'代码人','age':'19'} print(zidian) # 如果有就替换值 zidian['name'] = 'lanlan' print(zidian) # 新增一个键值对 zidian['id'] = '1' print(zidian)
1.3删除
# 字典 dels = {'name':'代码人','age':'19'} # 删除指定键 del dels['name'] print(dels) # 清空字典 dels.clear() print(dels)
1.4修改
这里有一点刚刚的新增语法和这个一样,语法
字典name[key]=值
如果有key修改没有新增一个
# 字典 dels = {'name':'代码人','age':'19'} # 修改指定键 dels['name']='lamlamddaimar' print(dels)
1.5各样查询
# 字典 dels2 = {'name':'代码人','age':'19'} # 查找指定键 print(dels['name']) # 查找不存在的key报错 # print(dels2['id']) print(dels2.get('name')) print(dels2.get('id',120)) # 获取所有的key print(dels2.keys()) # 获取所有value print(dels2.values()) # 将你的键值对分成元组 print(dels2.items())
1.6循环遍历键值
键
# 字典 dels2 = {'name':'代码人','age':'19'} for key in dels2.keys(): print(key)
值
# 字典 dels2 = {'name':'代码人','age':'19'} for key in dels2.values(): print(key)
键和值
# 字典 dels2 = {'name':'代码人','age':'19'} for key in dels2.items(): print(key)
拆包
# 字典 dels = {'name':'代码人','age':'19'} for key, va in dels2.items(): print(f'键{key}值{va}')
二.集合
集合有去重功能,所以相同的在一起只显示一个
而且顺序还很迷
2.1创建集合
# 创建集合 s1 = {1,2,3,4,5,6} print(s1) s2 = {1,3,2,4,5,6} print(s1) s3 = set('ABCDERF') print(s3) #创建空集合 s4=set()
2.2 添加
这里有两个添加,一个是add
一个是update使用方法如下,update两个一个会拆开放进去,一个直接放进去
s2 = {1,3,2,4,5,6} s2.add(12) s2.update('lui') s2.update([123],[567]) print(
2.3删除
两个删除如果集合里面没有值remove报错
discard不报错
s3 = {1,3,2,4,5,6} s3.remove(2) s3.discard(2) print(s3
2.4集合查找
很简单in在
not in 不在 返回布尔值
s3 = {1,3,2,4,5,6} s3.remove(2) s3.discard(2) print(2 in s3) print(2 not in s3)
三.公共操作
什么是公共操作就是前面哪一些数据类型都支持的操作
3.1运算符
加号+合并
str1 = 'aa' str2 = 'nn' list1 = [1,2] list2 = [10,20] t1 = (1,2) t2 = (10,20) dict1 = {'name':'python'} dict2 = {'age':19} # *合并 print(str1 +str2) print(list1 +list2) print(t1+t2)
str1 = 'aa' str2 = 'nn' list1 = [1,2] list2 = [10,20] t1 = (1,2) t2 = (10,20) dict1 = {'name':'python'} dict2 = {'age':19} print(str1 * 5) print(list1 *5 ) print(t2 * 5)
in and not in
字典就是在画面加那两个函数
str1 = 'aa' str2 = 'nn' list1 = [1,2] list2 = [10,20] t1 = (1,2) t2 = (10,20) dict1 = {'name':'python'} dict2 = {'age':19} print('a' in str1) print(100 not in list2) print('name' in dict1) print('name' in dict1.values() )
3.2公共方法
一些类型都可以使用的方法
len 统计下标 都差不多我这里只写一个
str1 = '123123123' print(len(str1))
删除 del /del() 删除之后为空输出所以报错
str1 = '123123123' del str1 print(str1)
查看元素里面最大值最小值
str1 = '123123123' print(min(str1)) print(max(str1))
range生成几到几之间的数提供循环遍历
for i in range(1,10): print(i)
enumerate感觉嘎嘎好用
list = ['a','s','c','e'] for i,char in enumerate(list): print(f'下标{i},值{char}'
四.数据类型转换
三个函数
1 tuple() 将一个序列转换成元组
2list()将一个序列转换成列表
3set()将序列转换成集合
4.1tuple
list1 = [10,20,30] s1 = {100,200,300} print(tuple(list1)) print(tuple(s1))
4.2list
t1 = ('a','b','c') s1 = {100,200,300} print(list(t1)) print(list(s1))
4.3set
t1 = ('a','b','c') s1 = [100,200,300] print(set(t1)) print(set(s1))
五.推导式/生成式
string没有推导式
就是简化代码使用的分为三个
- 列表推导式
- 字典推导式
- 集合推导式
5.1列表推导式
用一个表达式创建一个 有规律 的列表
列表里面的数据时有规律的
创建一个0-10的列表)(老方法)
推导式
list1 = [i for i in range(10)] print(list1)
5.2带if的写法(基数偶数)
list1 = [i for i in range(0,10,2)] print(list1)
5.3多重for循环推导式
list1 = [(i,j) for i in range(0,10,2) for j in range(3)] print(list1)
5.4字典推导式
如下字典推导式就是将两个list合成一个字典
list1 = {(i,i**2) for i in range(0,10,2)} print(list1)
合并两个list变成一个字典
list1 =['name','age','gender'] list2= ['tpm','12','man'] dict1 = {list1[i] : list2[i] for i in range(len(list1))} print(dict1)
5.5提取目标数
感觉用处不打不详细敲了
5.6集合推导式
没有用看一下
六函数
有java基础比较简单
def diyig1(int): print(int) diyig1(123)
6.1函数传值
def tishi(q,d): print(f'输入{q+d}') tishi(1,4)
6.2返回值
def tishi(q,d): print(f'输入{q+d}') return '返回值' print(tishi(1,5))
6.3函数帮助文档
def tishi(q,d): """我是函数帮助文档 参数一 """ print(f'输入{q+d}') return '返回值' help(tishi)
6.4函数调用
这里和java差不多不难
def tishi(q,d): """我是函数帮助文档 参数一 """ print(f'输入{q+d}') return '返回值' def this2(): print('嵌套使用') tishi(1,3) this2()
就到此为止啦~ 觉得不错的多多支持哦