实现c++的?:语句
s[num] = stack[-1] if stack else -1
赋值运算符 :=
用处:直接声明并初始化
if语句
my_list = [1,2,3]
count = len(my_list)
if count > 3:
print(f"Error, {count} is too many items")
# when converting to walrus operator...
if (count := len(my_list)) > 3:
print(f"Error, {count} is too many items")
while语句
line = f.readLine()
while line:
print(line)
line = f.readLine()
# when converting to walrus operator...
while line := f.readLine():
print(line)
n = 0
while n < 3:
print(n) # 0,1,2
n += 1
# when converting to walrus operator...
w = 0
while (w := w + 1) < 3:
print(w) # 1,2
列表中不需要同一个类
list = [3,3.0,True]
运算
方法
l = [1,2,3,4]
l.append(item) # 末尾末尾加入item
l.insert(i,item) # 第i个位置插入item
l.pop() # 删除最后一个元素
l.pop(1) # 删除第i个元素并返回该元素的值
l.sort() # 排序,从小到大,O(nlogn)
l.reverse() # 倒序排列
del l[i] # 删除第i个位置的元素
l.index(item) # item每一次出现的下标
l.count(item) # 计数,返回item的数量
l.remove(item) # 列表中删除第一次出现的item
## 一维数组
# 创建1到999的一维数组
l = list(range(1000)) # 速度最快
l = [i for i in range(1000)] # 次快
# 创建相同元素的一维数组
l = [0] * n
# 创建m行n列的二维0数组
l = [[0 for i in range(n)]for j in range(m)] # 先列后行
python中的字符串对象是不能更改的,也即直接修改字符串中的某一位或几位字符是实现不了的
下面是特有的方法
# 常见的方法
s ='helo'
num = s.count('i') # 返回i的个数
idx = s.find('i') # 返回第一次出现i的下标,如果不在会返回-1
ss = s.split('e') # 在'e'位置将字符串分割成子串 结果:['h','lo']
print(s.isdigit()) # 无参数,判断字符串是否只包含数字,只有数字返回True