一些没什么用的python脚本碎片整理

一、前言

岁数大了,知识又学杂了,再加上阳了以后,总感觉记性不好,特来整理一些没什么用的python脚本片段snippet。大概包含

  1. 一、二维数组切片、
  2. list中字符串转float/int、
  3. txt删除空行、
  4. 初始化x坐标,从1-100等、
  5. plt在同一张图上画多个折线图
    不定期更新吧。

等更新到一定数量会放在github上~欢迎收藏

二、代码

废话不多说,直接上代码

python数组切片(一维和二维)

切片规则:对于一维array或者list a, 切片规则为sliced_a = a[start : stop: step]

import numpy as np
a = np.array([1,2,3,4,5,6,7,8])
sliced_a = a[1::2]  # 省略stop就是到末尾
print(sliced_a)  # [2 4 6 8]

对于二维数组,和一维相似,只不过多个维度而已,来,看例子

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
sliced_a = a[0::3, ::]  # 逗号前是第一个维度,逗号后为第二个维度。规则与一维数组一致
print(sliced_a)  # [[1 2 3][10,11,12]]

list中str转float/int

当你有个list,list中每个元素都是str类型,你想其中的所有元素都转换成float或者int类型

ls = ['0.23', '0.54', '0.15']
new_ls = list(map(eval, ls))
print(new_ls)  # [0.23, 0.54, 0.15]

list中float/int转str

ls = [0.23, 0.54, 0.15]
new_ls = list(map(str, ls))
print(new_ls)  # ['0.23', '0.54', '0.15']

txt删除空行

# coding:utf-8

file1 = open('data1.txt', 'r', encoding='utf-8')   # 打开要去掉空行的文件
file2 = open('data2.txt', 'w', encoding='utf-8')  # 生成没有空行的文件

for line in file1.readlines():
    if line == '\n':
        line = line.strip('\n')  # strip()表示删除掉数据中的换行符
    file2.write(line)

file1.close()
file2.close()

初始化x坐标,从1-100等

x = list(range(0, 100))  # 0-100是左闭右开欧

初始化一个空的二维数组

two_dimension_empty_array = [[]*1]*42

plt在同一张图上画多个折线图

import numpy as np
import matplotlib.pyplot as plt

# 1.准备数据
mat = np.random.random((4, 3)) 
print(mat)

# 2.开始画折线图
fig = plt.figure()
ax = fig.add_subplot(111)
x = list(range(0, 3))  # 横坐标为初始化从0到2的数字, 注意这里的x的维度要和mat中每一个元素的维度一致
for line in mat:  # 纵坐标遍历要画的曲线list
    ax.plot(x, line)  # 循环绘制
plt.show()

你可能感兴趣的:(python,numpy)