将数组列拆分为包含从父列中删除的元素的新子列

时间:2017-06-23 16:13:22

标签: python arrays numpy split

我想以这样的方式拆分数组,我可以在列中提取一些子元素,我是编程新手,尤其是python,所以请帮忙...

say A = [['18x24x16']
         ['18x12x14']
         ['18x24x12']
         ['18x48x10']]

我希望有类似的东西:

B = [['24' '16']
     ['12' '14']
     ['24' '12']
     ['48' '10']]

我可以使用什么功能以及如何使用?

2 个答案:

答案 0 :(得分:0)

A = [
  [18, 24, 16],
  [18, 12, 14],
  [18, 24, 12],
  [18, 48, 10],
]

B = [[row[1] for row in A]]       # Each element is a list
B_prime = [row[1] for row in A]  # Each element is not a list.

以下是lists帮助您的文档。

答案 1 :(得分:0)

如果您的数组是字符串列表,其中每个字符串是由任何字符'x'分隔的数字列表,您可以使用:

A = [['18x24x16'], ['18x12x14']]
B = [row[0].split('x') for row in A]
print(B)
# [['18', '24', '16'], ['18', '12', '14']]

每个元素仍然是这样的字符串。如果您想要实际数字,请使用:

B = [[int(elem) for elem in row[0].split('x')] for row in A]

如果您希望所有值都是整数,请使用int(elem);如果您希望它们都是浮点数(小数值数字),请使用float(elem)