python-运算符,数据类型转换,短路逻辑,for循环,列表及其增删改查

//地板除
取比目标结果小的最大整数

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 ** yx的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),将字符串转换成复数

逻辑运算符

andornot

优先级

+、- > 比较运算符 > 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[:]  # 复制整个列表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值