1. 两点之间的距离公式

    1
    2
    math.sqrt(f)
    f = (x1 - y1) ** 2 + (x2 - y2) ** 2
  2. 两个字符串连接,用格式化 '%s%s'%(a,b)

  3. 列表的函数

    1
    2
    3
    最大函数   max(list)
    最小函数 min(list)
    计数函数 count(list)
  4. 判断一个整数是否回文

    1
    2
    3
    4
    5
    6
    def isHuiWen(num):
    a = reversed(list(num))
    if(list(a) == list(num)):
    return True
    else:
    return False
  5. 把一个列表中的数转换成字符串输出

    1
    ' '.join('%s' %id for id in arr)
  6. 用列表表达式输入数据

    1
    l = [int(i) for i in input().split()]   // 此时可以在控制台输入一行以空格分割的整数
  7. 列表切片

    1
    2
    3
    4
    5
    6
    l = [1,5,8,7,9,8,7,6,2];
    l[:] // 复制列表
    l[0:3] // 取前三个数
    l[::3] // 所有的数每 3 个取一个
    l[:6:2] // 前 6 个数每 2 个取一个
    l[2:6] // 取第 3 个到第 6 个之间的数(不包括 6)
  8. 十进制转换为二进制

    1
    2
    3
    x = 10
    bin(x).replace('0b','')
    bin(x)[2:]
  9. 二进制转换为十进制

    1
    2
    y = 1100
    int(y,base=2)
  10. 二进制补 0 操作(16位)

    1
    2
    3
    4
    5
    for i in range(1,16):
    if len(sx)<16:
    sx=str(0)+sx
    if len(sy)<16:
    sy=str(0)+sy
  11. 集合的差集

    1
    2
    3
    4
    x = list(set(A).difference(set(B))   // 属于 A 不属于 B 的元素
    x.sort(key = A.index) // 按 A 集合的元素顺序
    intersection() // 该方法返回集合的交集
    union() // 该方法返回集合的并集
  12. 大小写字母的 ASCII 符

    1
    2
    3
    4
    print([chr(i) for i in range(65,91)])    // 输出 26 个大写字母
    print([chr(i) for i in range(97,123)]) // 输出 26 个小写字母
    ord('a') // 输出 97,将字母转换为 ASCII 符
    chr(97) // 输出 a ,将 ASCII 符转换为字母
  13. title(): 返回首字母大写的字符串

    1
    2
    s = 'glad to meet you'
    print(s.title()) // Glad To Meet You
  14. 列表的元素删除

    1
    2
    3
    list = [1,2,3,9,7,6]
    list.pop(2) // 删除第 3 个数
    list.remove(6) // 删除值为 6 的元素
  15. while k in arr 和 if k in arr

    1
    一个会循环所有值为 k 的元素;后者只找到第一个值为 k 的元素
  16. sys 模块

    1
    2
    3
    4
    import sys
    for line in sys.stdin:
    ...
    上述语句可以从 pycharm 控制台不断读取 input 输入,直到按 Ctrl + D 停止
  17. 函数 zip() :将对象中对应的元素打包成元组

    1
    2
    3
    a = [1,2,3]
    b = [4,5,6]
    zip(a,b) // [(1,4),(2,5),(3,6)]
  18. 遍历矩阵输出矩阵的每一个数

    1
    2
    3
    4
    s_mtx = []   // 这是一个矩阵
    // 按照顺序输出每一行中的每一个数
    for c in range(3):
    print(s_mtx[0][c], s_mtx[1][c], s_mtx[2][c], end = ' ')
  19. 求绝对值函数 fabs() 和 abs()

    1
    2
    fabs() 是在 math 模块中定义的,需要导入;而 abs() 函数是内置函数;
    fabs() 只适用于 float 和 integer 类型,而 abs() 也可以适用于复数
  20. EOFError 报错解决方法

    1
    2
    3
    4
    try:
    ...
    except EOFError:
    break
  21. operator.itemgetter 模块:可以获取对象的某些维数据

    1
    2
    3
    4
    5
    6
    7
    from operator import itemgetter
    a = [1,2,3]
    fetch = itemgetter(1)
    fetch(a) // 取出第二个数,即为 2
    fetch2 = itemgetter(2,1)
    fetch2(a) // 取出位置为 2 和 1 的数并交换位置,即为 3,2
    // 可以作为 key 传递给 sorted() 函数排序
  22. reverse() 和 reversed()

    1
    2
    reverse() 方法用于列表,可以反转一个列表的顺序
    reversed() 方法是一个反转迭代器,其参数可以是列表、字符串或者 range
  23. 读取一个文件, 假设文件名为 file.txt

    1
    2
    3
    4
    5
    with open('file.txt') as js:
    for line in js: // 对文件内容中的每一行进行操作
    ...
    // 也可以将所有内容读取出来,存放到 content 里
    content = js.read()
  24. 将结果写入一个文件,假设文件名为 result.txt,结果是一个列表 arr

    1
    2
    3
    with open('result.txt','w') as jg:
    for r in arr:
    jg.write(r)