You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不修改原NumPy数组的情况下实现数组打乱?

不修改原数组打乱NumPy数组的方法

如果不想改动原数组,有两种实用的实现方式:

  • 使用np.random.Generator.permutation()方法
    该方法会直接返回一个打乱后的新数组,原数组完全保持不变。示例代码:

    import numpy as np
    
    rng = np.random.default_rng()
    original_arr = np.array([1, 2, 3, 4, 5])
    shuffled_arr = rng.permutation(original_arr)
    
    print("原数组:", original_arr)
    print("打乱后的数组:", shuffled_arr)
    
  • 先复制原数组,再对副本执行shuffle()
    先通过copy()方法创建原数组的副本,再对副本使用原地打乱的shuffle(),这样原数组不会被改动。示例代码:

    import numpy as np
    
    rng = np.random.default_rng()
    original_arr = np.array([1, 2, 3, 4, 5])
    arr_copy = original_arr.copy()
    rng.shuffle(arr_copy)
    
    print("原数组:", original_arr)
    print("打乱后的副本:", arr_copy)
    

内容的提问来源于stack exchange,提问作者Richie Bendall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:08:14