1.1 元组
元组:tuple ,用来存储多个数据,但是不能直接修改。
若存储的类型是可修改的数据类型,如列表,但是不可以修改整个列表。可以先将列表转换成可变的形式,然后进行修改。
创建空元组: ( ) 或者 tuple( )
#创建元组my1_tuple = ()my2_tuple = (1, 2, 3, 3)my3_tuple = 4, 5, 6#访问元组数据print(my2_tuple[0])print(my3_tuple[-1])#切片print(my2_tuple[1:4])#count统计次数 和 len长度print(my2_tuple.count(3))print(len(my2_tuple))#遍历元组for item in my2_tuple: print(item)
1.2 字典
字典:dict 创建空字典 {} 或者dict() 键不可变,值可变。
#创建字典my1_dict = {}my2_dict = {'key1':'vlaue1','key2':'value2'}#访问字典中的值vlaue = my2_dict['key1']#如果键不存在就会引发异常,可以使用Get方法来避免异常#value2 = my2_dict.get['key2']#修改字典中的值my2_dict['key2'] = 'value3'print(my2_dict)#添加字典的新的键值对my2_dict['key3'] = 'value4'print(my2_dict)#删除字典中的键值对 del 字典 / del(字典[key]) 清空 字典.clear()del my2_dict['key2'] # 删除指定的键值对print(my2_dict)my2_dict.pop('key1') # 删除指定的键值对并返回对应的值#my2_dict.clear() # 清空字典#遍历所有的键,值,以及键值对for key in my2_dict.keys(): print(key)for value in my2_dict.values(): print(value)for key, value in my2_dict.items():#字典.items() 返回字典中所有的键值对 print(key, value)#检查键是否存在if 'key1' in my2_dict: print('key1 exists')#获取长度length = len(my2_dict)print(length)
1.3 集合
set 可以支持去掉重复的数据,但不支持下标。 创建空集合 set()
创建集合:{数据1,数据2,数据3...}
#创建集合my_set = set()set2 = {1,3}set3 = {1,3,4,5}my2_set = {1,2,3}my3_set = {1,3,4,5}#添加元素到集合my2_set.add(4) #添加单个元素print(my2_set)my2_set.update([5,6])#添加多个元素print(my2_set)#移除集合中的元素my2_set.remove(2) # 移除指定元素,如果不存在会引发 KeyError 异常print(my2_set)my2_set.discard(3) # 移除指定元素,如果不存在不会引发异常print(my2_set)my2_set.pop() # 随机移除一个元素并返回#my2_set.clear() # 清空集合中的所有元素#集合的运算 并集 | 交集 & 差集 - 对称差集 ^union_set = my2_set | my3_setunion_set = my2_set.union(my3_set)print(union_set)#交集(获取两个集合中的共同元素):intersection_set = my2_set & my3_setintersection_set = my2_set.intersection(my3_set)print(intersection_set)#差集(从一个集合中移除另一个集合中的元素):difference_set = my2_set - my3_setdifference_set = my2_set.difference(my3_set)print(difference_set)#对称差集(获取两个集合中的不重复元素):symmetric_difference_set = my2_set ^ my3_setsymmetric_difference_set = my2_set.symmetric_difference(my3_set)print(symmetric_difference_set)#检查集合的关系 #子集(判断一个集合是否为另一个集合的子集):if set2.issubset(set3): print("my2 is a subset of my3")else: print('error')#超集(判断一个集合是否为另一个集合的超集):if set2.issuperset(set3): print("my2 is a superset of my3")#相离(判断两个集合是否没有共同元素):if set2.isdisjoint(set3): print("my2 and my3 are disjointed")#集合遍历for item in my2_set: print(item)
1.4 常用的数据转换
1.5 运算符
优先级:() ⾼于 ** ⾼于 * / // % ⾼于 + -
优先级
先算复合赋值运算符右侧的表达式
再算复合赋值运算的算数运算
最后算赋值运算
数字之间的逻辑运算
and 运算符,只要有⼀个值为0,则结果为0,否则结果为最后⼀个⾮0数字
or 运算符,只有所有值为0结果才为0,否则结果为第⼀个⾮0数字
1.6 输入输出
input()会把接收到的任意数据都当做字符串处理
name = input("请输入您的姓名:")print("您好," + name)
print('输出的字符串')
转义字符:
\n :换⾏
\t :制表符,⼀个tab键(4个空格)的距离
结束符:
end="\n" :默认结束符(默认换行),可修改
格式化输出:
单个格式化输出:print('格式化符号' % 表达式)
多个格式化输出:print('格式化符号1,格式化符号2' % (表达式1, 表达式2))
Python3.6中新增的格式化⽅法:print(f'{表达式}')
常用的格式化符号:
%06d:表示输出的整数显示6位数,不⾜以0补全,超出当前位数则原样输出
%.2f:表示⼩数点后显示2位小数
1.7 关于循环
while 循环
while 条件:
条件成⽴重复执⾏的代码
else:
循环正常结束后执⾏的代码