//
地板除
取比目标结果小的最大整数
print(3 / 2) # 1.5
print(3 // 2) # 1
print(-3 / 2) # -1.5
print(-3 // 2) # -2
divmod(x, y)
print(divmod(3, 2)) # (1, 1) 得到3 // 2地板除和3 % 2即3/2的余数
abs(x)
print(abs(-3.14)) # 得到3.14,求绝对值
x的y次方
pow(x, y)
x的y次方
x ** y
x的y次方
pow(x, y, z)
x的y次方再对z取余
print(pow(2, 3)) # 8,2的3次方
print(pow(2, 3, 5)) # 3,2的3次方=8,8%5=3
print(2 ** 3) # 8,2的3次方
数据类型转换
int(x)
将x转换成整数
float(x)
将x转换成浮点数
complex(x)
将x转换成复数
print(int('520')) # 520,将字符串转换成整数
print(int(3.14)) # 3,将浮点数转换成整数
print(float(3)) # 3.0,将整数转换成浮点数数
print(complex(3.14)) # (3.14+0j),将浮点数转换成复数
print(complex("3+2j")) # (3+2j),将字符串转换成复数
逻辑运算符
and,or,not
优先级
+、- > 比较运算符 > not > and > or
短路逻辑
and和or要遵从短路逻辑
短路逻辑:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值
print(3 and 4) # 4,and两边为真才为真,所以短路逻辑看第二个操作数
print(0 and 4) # 0,and一个为假就为假,所以第一个操作数就可以决定结果,所以只看第一个操作数
print(3 or 4) # 3,or一个为真即为真,所以短路逻辑看第一个操作数
print(0 or False or 4) # 4,or一个为真即为真,所以短路逻辑看最后一个操作数
continue和break
continue是跳出一次循环,回到循环体的开头继续循环
break是跳出循环体
i = 0
while i <= 5:
i += 1
if i % 2 == 0:
continue
print(i) # 1,3,5
i = 0
while i <= 5:
i += 1
if i % 2 == 0:
break
print(i) #1
while 循环后使用 else 语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
# 99乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print(j, '*', i, '=', i*j, end=' ')
j += 1
i += 1
print() # 不用print('\n'),因为print()默认会换行
else:
print("结束啦")
for循环
for 变量 in 可迭代对象:
for i in "finish":
print(i, end='+')
print() # f+i+n+i+s+h+
for i in range(10):
print(i, end=" ")
print() # 0 1 2 3 4 5 6 7 8 9
for i in range(5, 10):
print(i, end=" ")
print() # 5 6 7 8 9
for i in range(5, 10, 2):
print(i, end=" ") # 5 7 9
rang(x)
:0~x,不包括x
rang(x, y)
:x~y,不包括y
rang(x, y, z)
:x~y,不包括y,步数为z
列表
中括号[]
包裹,元素之间用逗号,
隔开
list = [1, 2, 3, 4, 5, '嗨']
print(list)
length = len(list) # len(列表名称),计算列表长度
print(length)
print(list[0]) # 下标从0开始
print(list[5])
print(list[-1]) # 最后一个元素下标可以是-1
print(list[0:3]) # [1, 2, 3]
print(list[3:]) # [4, 5, '嗨']
print(list[0:4:2]) # [1, 3]
print(list[::-1]) # ['嗨', 5, 4, 3, 2, 1],整个列表倒叙输出
增删改查
在末尾增添元素
列表名.append()
在列表末尾添加一个元素
列表名.extend([元素1, 元素2, 元素n])
在列表末尾添加多个元素
列表名[len(列表名):] = [元素1, 元素2, 元素n]
在列表末尾添加多个元素
list = [1, 2, 3, 4, 5, '嗨']
length = len(list) # len(列表名称),计算列表长度
list.append(7) # 在列表末尾添加一个元素
list.extend(['哈哈', 8, 9]) # 在列表末尾添加多个元素
list[len(list):] = [10]
list[len(list):] = [11, 12, 13] # 在列表末尾添加多个元素
print(list)
插入元素
列表名.insert(位置, 元素)
在第位置
个元素后插入元素
list = [1, 3, 4, 5]
list.insert(1, 2) # 在第1个元素后插入2
list.insert(0, 0) # 在第0个元素后插入0,即在开头插入0
list.insert(len(list), 6) # 在最后一个元素后插入6,即在末尾插入6
删除元素
列表名.remove(元素)
删除元素
存在多个匹配的元素,只会删除第一个,如果指定的元素不存在,会报错
列表名.pop(下标)
删除下标为x的元素
列表名.clear()
清空列表
list = [1, 2, 2, 3, 4, 5]
list.remove(2) # 删除第一个元素2
list.pop(0) # 删除下标为0的元素
list.clear() # 清空列表
修改列表元素
列表名[下标] = 元素
将下标为x的元素值修改成y
列表名[下标:] = [元素1, 元素2, 元素n]
将从下标x开始,包括下标为x的元素之后都替换
list[2] = 7 # 将下标为2的元素值修改成7
list[2:] = [3, 4, 5] # 将从下标2开始,包括下标为2的元素之后都替换
列表排序
列表名.sort()
列表从小到大排序
列表名.reverse()
将列表元素逆转。所以列表从大到小排序可以先用sort得到从小到大,再将列表逆转
列表名.sort(reverse=True)
列表从大到小排序
x = [5, 3, 7, 4]
x.sort()
print(x) # [3, 4, 5, 7]
x.reverse()
print(x) # [7, 5, 4, 3]
x = [5, 3, 7, 4]
x.sort(reverse=True)
print(x) # [7, 5, 4, 3]
查找元素
list = [0, 1, 2, 2, 2, 3, 2, 6]
print(list.count(2)) # 查找列表里有多少个2
print(list.index(2)) # 查找该元素第一次出现的索引值
print(list.index(2, 5, 7)) # 从下标5开始找元素2,包括下标为5的元素,一直找到下标为7的元素之前,不包括下标为7的元素
list1 = list.copy() # 复制整个列表
list2 = list[:] # 复制整个列表