【发布时间】:2019-01-18 00:41:50
【问题描述】:
我有一个如下所示的数组;
constants = ['(1,2)', '(1,5,1)', '1']
我想将数组转换为如下所示;
constants = [(1,2), 1, 2, 3, 4, 5, 1]
为此,我尝试了一些操作;
from ast import literal_eval
import numpy as np
constants = literal_eval(str(constants).replace("'",""))
constants = [(np.arange(*i) if len(i)==3 else i) if isinstance(i, tuple) else i for i in constants]
输出是;
constants = [(1, 2), array([1, 2, 3, 4]), 1]
所以,这不是预期的结果,我被困在这一步。问题是,如何将数组与其父数组合并?
【问题讨论】:
-
为什么第一个元组没有被转换?
-
我不需要转换它。我需要转换元组有 3 个值。
-
不
np.arange(1,5,1)返回np.array([1, 2, 3, 4])? -
@taras 是的。但这不是我的问题。问题是如何将它与父数组合并。