我平时总结的几个Python编程小技巧
原创
©著作权归作者所有:来自51CTO博客作者流动的风与雪的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
- 1 查询numpy的array数组中某个数值的索引下标
- 2 查看当前Python解释器的版本
- 3 查看自己电脑上Python的安装目录
- 4 查看Python已安装模块
- 5 生成指定阶数的随机矩阵
- 6 np.set_printoptions输出格式设置
- 7 检查自己电脑上有几个python版本
- 8 打印Python的当前工作目录
- 9 list列表与数组array的相互转换
- 10 split()方法
1 查询numpy的array数组中某个数值的索引下标
如果变量的数据类型是列表,则可以通过index()方法查询索引,如:
>>> l=[2,4,3,6,4]
>>> l.index(6)
3
因此对于数据类型为array数组时,可以先使用tolist()方法将其转换为列表,然后使用index()方法查询,如:
>>> import numpy as np
>>> arr=np.array([1,5,2,7,3])
>>> arr
array([1, 5, 2, 7, 3])
>>> arr.tolist().index(5)
1
>>> arr #不会改变arr的数据类型
array([1, 5, 2, 7, 3])
2 查看当前Python解释器的版本
输出如下:
'3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]'
3 查看自己电脑上Python的安装目录
在cmd中使用:
结果如:
C:\Users\15011\anaconda3\python.exe
C:\Users\15011\AppData\Local\Programs\Python\Python36\python.exe
C:\Users\15011\AppData\Local\Microsoft\WindowsApps\python.exe
4 查看Python已安装模块
5 生成指定阶数的随机矩阵
import numpy as np
from numpy import random
np.random.seed(0)
data=random.uniform(1,10,(5,5)) #random.uniform(low,high,size=(,))
print(data)
输出如下:
array([[5.93932154, 7.4367043 , 6.42487038, 5.90394865, 4.81289319],
[6.81304702, 4.9382849 , 9.02595701, 9.67296484, 4.45097367],
[8.12552534, 5.76005428, 6.11240105, 9.33036974, 1.63932452],
[1.7841637 , 1.18196558, 8.49357861, 8.00341076, 8.83010933],
[9.80756508, 8.19242708, 5.15331426, 8.02476259, 2.06446983]])
6 np.set_printoptions输出格式设置
import numpy as np
np.set_printoptions(threshold=100,precision=4,suppress=True)
#threshold控制输出的值的个数,其余用...代替
#precision控制输出小数点个数
#suppress=True时表示小数不需要以科学计数法的形式输出
7 检查自己电脑上有几个python版本
查看电脑Python安装位置,在cmd中输入
查看Python版本,在cmd中输入
8 打印Python的当前工作目录
9 list列表与数组array的相互转换
list转换为array
array转换为lsit
10 split()方法
split()通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串,下面的代码是一个例子:
str = "naruto sasuke sakura"
str.split()
输出如下:
['naruto', 'sasuke', 'sakura']
调用格式:
f为分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num为分割次数,默认为 -1, 即分隔所有。
示例代码如下:
>>> str = "naruto#sasuke#sakura"
>>> str.split("#")
['naruto', 'sasuke', 'sakura']
>>>
>>> str.split("#", 1)
['naruto', 'sasuke#sakura']
end