1. 语法小点

  1. 实现c++的?:语句

    s[num] = stack[-1] if stack else -1

  2. 赋值运算符 :=

    1. 用处:直接声明并初始化

    2. 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")
      
    3. 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
      

2. 列表

2.1 列表基础

2.2 数组相关

  1. 创建
## 一维数组
# 创建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)] # 先列后行

3. 字符串

3.1 方法

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