【学习笔记】Python一些技巧总结

一、基础操作

1. 字符串拼接

参考:Python字符串拼接的6种方法

2. 几种取整方法

参考:Python 几种取整的方法

3. 保留指定位数小数

参考:Python保留指定位数的小数

4. 矩阵的转置、旋转

matrix[:] = list(zip(*matrix[::-1]))	# 顺时针
matrix[:] = list(zip(*matrix))[::-1]	# 逆时针
matrix[:] = list(zip(*matrix))			# 转置

参考:python 实现矩阵旋转

5. 数组及numpy切片

参考:Python中numpy数组切片

6. filter、zip、map作用及区别

参考:Python教程:map,zip,filter 函数

7. Python2.x 与 3​​.x 版本区别

参考:Python2.x 与 3​​.x 版本区别

8. 注意区分is==

在这里插入图片描述

9. list初始化问题

在这里插入图片描述

  • 当采用初始化:
    a = [[0] * 2] * 3
    a[1][0] = 2
    
    得到结果:a = [[2, 0], [2, 0], [2, 0]]
  • 当采用初始化:
    b = [[0 for _ in range(2)] for _ in range(3)]
    b[1][0] = 2
    
    得到结果:b = [[0, 0], [2, 0], [0, 0]]
  • 问题原因:被乘号复制的对象都指向了同一块空间

参考:python中慎用乘号*快速初始化list

10. Python语法的一些区别

参考:【学习笔记】Python一些语法区别解答

11. os.path和sys.path的区别

  • os.path 主要是 用于对系统路径文件的操作
  • sys.path 主要是 对 Python 解释器的系统环境参数的操作(动态的改变 Python 解释器搜索路径)

参考:python中的os.path和sys.path的区别

12. 字典中items()和iteritems()区别

  • 字典的items():是可以将字典中的所有项,以列表方式返回。因为字典是无序的,所以用items方法返回字典的所有项,也是没有顺序的。
  • 字典的iteritems():与items方法相比作用大致相同,只是它的返回值不是列表,而是一个迭代器
  • 注意:Python3中已经废止了iteritems()

参考:Python字典中items()和iteritems()区别

13. with用法

参考:Python 中 with 用法详解

二、面向对象(OOP)

1. getattribute、__getattr__具体功能及区别

参考:python getattribute 、getattr、setattr 详解

三、常用输入输出(ACM向)

参考:牛客OJ在线编程常见输入输出练习(python版)

  1. 读取多行输入,并转化为list。例如:

3 4 5 7 3 2 4
2 4 5 4 3 7
4 5 6 3 2 2 3 4 3 6 3

读取方法:

while True:
    try:
        l = list(map(int, input().strip().split()))
    except EOFError:
        break

相关注解:

  • input():接受一个标准输入数据,返回为 string 类型。每次只读一行。
  • strip():移除字符串头尾指定的字符(默认为空格或换行符)或字符序列;
  • split():通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串;
  1. 对输入字符串排序后输出。例如

c h aa n d b

读取及输出方法:

while True:
    try:
        n=int(input())
        mystr=list(map(str,input().strip().split()))
        mystr.sort()
        print(' '.join(mystr))
    except EOFError:
        break

或者,

from fileinput import input
for line in input():
    a = line.split()
    a = sorted(a)
    s = ''
    for i in range(len(a)-1):
        s+=a[i]+' '
    s += a[-1]
    print(s.lstrip())

相关注释:

  • lstrip():用于截掉字符串左边的空格或指定字符。

0. 固定强化学习的种子:

【转载】 固定随机种子比较强化学习算法——pytorch框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值