Python 将数组拆分为列表数组
我有一个数组,它具有与以下类似的属性:Python 将数组拆分为列表数组,python,list,Python,List,我有一个数组,它具有与以下类似的属性: my_array = [['ex1' '24.59' '45.654'], ['ex2' '65.87' '64.68'], ['ex3' '654.485' '78.13']] 我想拆分它,这样我就有了一个列表数组,理想情况下它会打印成: my_new_array = [['ex1', '24.59', '45.654'], ['ex2', '65.87', '64.68'], ['ex3', '654.485', '78.13']] 如果您希望扁平
my_array = [['ex1' '24.59' '45.654'], ['ex2' '65.87' '64.68'], ['ex3' '654.485' '78.13']]
我想拆分它,这样我就有了一个列表数组,理想情况下它会打印成:
my_new_array = [['ex1', '24.59', '45.654'], ['ex2', '65.87', '64.68'], ['ex3', '654.485', '78.13']]
如果您希望扁平化您的容器,它可以是列表中的列表或某种类型的列表。使用下面的代码
def container_flattener(input_list,output_list=list()):
for item in input_list:
if isinstance(item,list):
container_flattener(item,output_list)
elif isinstance(item,tuple):
container_flattener(item,output_list)
elif isinstance(item,set):
container_flattener(item,output_list)
elif isinstance(item,range):
container_flattener(item,output_list)
else:
output_list.append(item)
return output_list
l = [1, 2, [3, 4, (5, 6)], 7, 8, set([9, 10]), [11], range(12)]
print(container_flattener(l))
我想知道你是怎么得到第一个阵列的? 在这种情况下,python解释器会同时将“数组”中的每个元素视为字符串和列表,例如,每个元素看起来都像ex265.8764.68。
我建议您看看为什么它是这样印刷的,或者您是否可以告诉我们为什么它会有帮助。我是否遗漏了什么?您可能复制/粘贴了两次相同的内容,因为它们看起来与我相同。@Chrispresso第一个缺少逗号,因此它不是有效的Python代码(除非使用Python 3.8+,在这种情况下,
'ex1''24.59''45.654'
与'ex124.5945.654'
相同)@kaya3哦,我肯定错过了lol。从技术上讲,它是有效的Python代码,但它会将字符串连接在一起。因此,您将有一个包含一个元素的列表。每一个都是长的string@Chrispresso第二个在数组中的每个字符串之间都有逗号。我不认为可以根据字符串以任何合理的方式拆分它。这些数字不一致。不同数量的有效数字,十进制前后不同数量的值,等等。数组是如何进入这种表示法的?你可能会有一个更容易的时间修改,但它得到了这样的方式。