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

如何在Python中分割字符串数组?解决numpy.split报错问题

解决方法

错误原因很明确:np.split() 只能处理numpy数组,你传入的是普通Python列表,所以会触发'list' object has no attribute 'shape'的报错。以下两种方法都能解决问题,且保留数组的随机打乱状态:

方法一:转换为numpy数组后分割

先把打乱后的列表转成numpy数组,再用np.split()分割:

from random import randint
import numpy as np

arr = ["unit","2","3","4","5","6"]
print("Original arr: ", arr)
np.random.shuffle(arr)
print("Shuffled arr: ", arr)
# kfj=input()  # 保留原代码的输入逻辑(如果需要)
# 转换为numpy数组
np_arr = np.array(arr)
newarr = np.split(np_arr, 2)
print("Split result: ", newarr)

方法二:用Python原生切片分割(无需numpy)

如果不需要numpy数组,直接用列表切片更简单,完全依赖Python原生语法:

from random import randint
import numpy as np

arr = ["unit","2","3","4","5","6"]
print("Original arr: ", arr)
np.random.shuffle(arr)
print("Shuffled arr: ", arr)
# kfj=input()
# 计算分割索引,分成均等的两部分
split_point = len(arr) // 2
newarr = [arr[:split_point], arr[split_point:]]
print("Split result: ", newarr)

两种方法都会保留np.random.shuffle()后的打乱状态,你可以根据后续是否需要numpy数组来选择对应的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 21:50:23