Python实用技巧:列表/字典的保存与加载(基于numpy)

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函数来保存💾和加载📥列表数据。

    三、如何保存列表和字典 🔧

    1. 保存列表📝

    首先,我们创建一个简单的列表📋,并使用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文件中📁。

    1. 保存字典📘

      由于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函数即可🔄。

    1. 加载列表📋
    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列表📋。

    1. 加载字典📘

    加载字典时,我们需要先加载键和值🔑🔍,然后重建字典🔄。

    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。


    七、最后 🤝

      亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。

      我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!

      您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!

      🎉 感谢阅读,祝你编程愉快! 🎉