python常用代码总结2
创始人
2024-03-05 09:24:19
0

1、列表的常规追加元素、追加列表操作

(1)列表追加多个元素,比如追加0-9

ls = []
ls.extend(list(range(10)))ls
Out[20]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

(2)列表追加多个相同的元素,比如追加10个0

ls1 = []
for i in range(10):ls1.append(0)ls1
Out[23]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

列表推导式 

ls2 = []
ls2.extend([0 for _ in range(10)])
ls2
Out[27]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
In[57]: list4 = [i for _ in range(2) for i in range(1, 4)]...: print(list4)...: 
[1, 2, 3, 1, 2, 3]
In[58]: list4 = [i  for i in range(1, 4) for _ in range(2)]...: print(list4)...: 
[1, 1, 2, 2, 3, 3]

(3列表追加一个已有列表

ls3 =[]
expected_list = [1.2,2.3,3.4,5.6]
ls3.extend(expected_list)
ls3
Out[31]: [1.2, 2.3, 3.4, 5.6]

(4)列表中追加一个二维列表的一行或一列

ls4 = []
expected_list = [[1.2,2.3],[3.4,5.6],[7.0,8.0]] #3行2列
ls4.extend(expected_list[1]) #追加第二行
ls4
Out[44]: [3.4, 5.6]

(5)列表中可以追加不同长度的列表

lstwo  = []
In[49]: 
lstwo.append(ls1)
lstwo.append(ls2)
lstwo.append(ls3)
lstwo.append(ls4)
lstwo
Out[54]: 
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[],[3.4, 5.6]]

2、numpy array 读写文件

读取混合数据类型的数据,我们可以object的类型追读写文件。读Object对象的时候必须开启allow_pickle =True.(允许使用Python pickles保存、读取对象数组)

x = np.array([[1, 1, 1], ['a', 'b', 'c'],[1,'a',0.654321]], dtype=object)
np.save('my_data',x)
y = np.load('my_data.npy',allow_pickle=True)

(1)numpy.save()函数
保存一个数组到一个二进制的文件中,保存格式是.npy

参数介绍:
numpy.save(file, arr, allow_pickle=True, fix_imports=True)

file:文件名/文件路径
arr:要存储的数组
allow_pickle:布尔值,允许使用Python pickles保存对象数组(可选参数,默认即可)
fix_imports:为了方便Pyhton2中读取Python3保存的数据(可选参数,默认即可)

2)numpy.savez
这个同样是保存数组到一个二进制的文件中,但是厉害的是,它可以保存多个数组到同一个文件中,保存格式是.npz,它其实就是多个前面np.save的保存的npy,再通过打包(未压缩)的方式把这些文件归到一个文件上,不行你去解压npz文件就知道了,里面是就是自己保存的多个npy.。

参数介绍:

numpy.savez(file, *args, **kwds)

file:文件名/文件路径
*args:要存储的数组,可以写多个,如果没有给数组指定Key,Numpy将默认从'arr_0','arr_1'的方式命名
kwds:(可选参数,默认即可)

x2= np.arange(10)
x3= np.random.randn(10)
np.savez('my_data',x2,x3)
npzfile=np.load('my_data.npz') 
x21=npzfile['arr_0']
x31=npzfile['arr_1']

 你可以不适用Numpy默认给数组的Key,而是自己给数组命名有意义的Key,这样就可以不用自己指定变量名'arr_0','arr_1'了

x2= np.arange(10)
x3= np.random.randn(10)
np.savez('my_data',x2=x2,x3=x3)
npzfile=np.load('my_data.npz') 
x2=npzfile['x2']
x2=npzfile['x3']

3、numpy.save()函数直接存储复杂dict,包含列表,字符串,数值,然后再读取。

dict1 ={'name': ['jack1', 'jack2', 'jack3', 'jack4'],'sex': ['男', '女', '男', '女'],'grade': [99.1, 99.2, 99.3, 99.4]}dict
Out[39]: 
{'name': ['jack1', 'jack2', 'jack3', 'jack4'],'sex': ['男', '女', '男', '女'],'grade': [99.1, 99.2, 99.3, 99.4]}np.save('dict.npy', dict)
load_dict = np.load('dict.npy', allow_pickle=True).item()load_dict
Out[42]: 
{'name': ['jack1', 'jack2', 'jack3', 'jack4'],'sex': ['男', '女', '男', '女'],'grade': [99.1, 99.2, 99.3, 99.4]}

相关内容

热门资讯

美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...