如何将分散带方括号的数组合并为单个方括号空格分隔的数组
你现在打印出现每个元素单独套方括号的情况,是因为append到time_里的每个元素都是形状为(1,)的单元素数组,不是纯数值标量,所以逐行打印时每个都自带方括号,针对两种场景可以按下面的方法解决:
场景1:还未生成time_数组,修改写入逻辑
在append的时候直接提取标量值存入即可,修改后的代码:
time_coord = zip(MY, Sl_time) for MY_i, Sl_time_i in time_coord: # 用.item()提取单元素掩码数组里的纯数值 time_.append((MY_i + Sl_time_i).item())
处理后转numpy数组打印就直接是目标格式:
import numpy as np time_arr = np.array(time_) print(time_arr) # 输出示例:[39.098 20.859 25.078 ...]
场景2:已经生成了现存的time_数组,直接处理现有数据
不需要重新跑循环,对已有数组做降维处理即可:
import numpy as np # 把嵌套的单元素数组展平为一维数组 processed_time = np.array(time_).ravel() print(processed_time)
如果不需要生成数组只是要打印成目标格式,也可以直接拼接字符串:
output_str = f"[{' '.join(str(x[0]) for x in time_)}]" print(output_str)
内容的提问来源于stack exchange,提问作者PythonBeginner
相关产品推荐
相关产品推荐

