Python实用技巧:列表/字典的保存与加载(基于numpy)
🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持~
💡 创作高质量博文,分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)
🌵文章目录🌵
- 一、引言 📚
- 二、numpy模块简介 🎯
- 三、如何保存列表和字典 🔧
- 四、如何加载列表和字典 📂
- 五、其他选项 🎯
- 六、总结 📖
- 七、最后 🤝
一、引言 📚
📚🔥在Python的数据处理中,我们经常需要保存和加载大型的数据结构,如列表📋和字典📘。Numpy🧮,作为Python中处理数组数据的核心库,也为我们提供了保存和加载数组数据(包括列表)的便捷方法。虽然numpy主要用于数值计算🎯,但其强大的数组处理能力使得它在数据持久化方面也有很好的应用💪。在这篇博客中,我们将详细探讨如何使用numpy来保存📁和加载📈列表和字典!🚀🚀
二、numpy模块简介 🎯
Numpy(Numerical Python的简称)是Python语言的一个扩展程序库📦,支持大量的维度数组与矩阵运算🔢,此外也针对数组运算提供大量的数学函数库。Numpy是Python数据处理的基础包💻,大量机器学习库如scikit-learn等都依赖它进行数组操作🤖。在这篇博客中,我们将利用其提供的numpy.save和numpy.load函数来保存💾和加载📥列表数据。
三、如何保存列表和字典 🔧
- 保存列表📝
首先,我们创建一个简单的列表📋,并使用numpy的save函数将其保存到文件中📁。
import numpy as np # 创建一个列表 my_list = [1, 2, 3, 4, 5] # 转换为numpy数组 my_array = np.array(my_list) # 打开一个文件以进行写入🖊️ with open('my_list.npy', 'wb') as f: # 使用numpy的save函数将数组保存到文件中💾 np.save(f, my_array)
这里,'wb'表示以二进制写入模式🔧打开文件。np.save函数将my_array序列化为字节流📀,并写入到my_list.npy文件中📁。
- 保存字典📘
由于numpy主要是为数值数据设计的📈,直接保存字典并不支持。但我们可以转换字典的键和值为numpy数组🔢,然后分别保存💾。
import numpy as np # 创建一个字典📘 my_dict = {'a': 1, 'b': 2, 'c': 3} # 分离键和值 keys = np.array(list(my_dict.keys())) values = np.array(list(my_dict.values())) # 保存键和值到文件💾 np.save('my_dict_keys.npy', keys) np.save('my_dict_values.npy', values)
四、如何加载列表和字典 📂
加载之前保存的列表📋和字典📘同样简单。我们只需使用numpy的load函数即可🔄。
- 加载列表📋
import numpy as np # 打开文件以进行读取📜 with open('my_list.npy', 'rb') as f: # 使用numpy的load函数从文件中加载数组🔄 loaded_array = np.load(f) # 将numpy数组转换回列表📋 loaded_list = loaded_array.tolist() # 打印加载的列表🖨️ print(loaded_list) # 输出: [1, 2, 3, 4, 5]
这里,'rb'表示以二进制读取模式🔍打开文件。np.load函数从文件中读取字节流📀,并将其反序列化为numpy数组🔢。然后,我们使用tolist方法将数组转换回Python列表📋。
- 加载字典📘
加载字典时,我们需要先加载键和值🔑🔍,然后重建字典🔄。
import numpy as np # 加载键和值🔑🔍 loaded_keys = np.load('my_dict_keys.npy') loaded_values = np.load('my_dict_values.npy') # 重建字典🔄 loaded_dict = dict(zip(loaded_keys, loaded_values)) # 打印加载的字典🖨️ print(loaded_dict) # 输出: {'a': 1, 'b': 2, 'c': 3}
这里,我们使用zip函数将键和值组合成一对对的元组,然后传递给dict构造函数来重建原始的字典📘。
五、其他选项 🎯
除了numpy,还有其他几种方法可以在Python中保存和加载数据。例如,json模块适用于保存和加载JSON格式的数据🐍,而pickle模块可以序列化和反序列化几乎所有的Python对象🥒,但可能存在安全风险。对于大型数值数据,h5py库提供了基于HDF5格式的保存和加载功能🏢。
六、总结 📖
通过这篇博客,你现在应该已经掌握了如何使用numpy来保存和加载Python中的列表和字典。虽然numpy主要用于数值计算,但其强大的数组处理能力使得它在数据持久化方面也有很好的应用。记住,在处理不同类型的数据和不同的用例时,可能需要考虑其他选项,如json,pickle或h5py。
七、最后 🤝
亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。
我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!
您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!
🎉 感谢阅读,祝你编程愉快! 🎉