我正在尝试编写一个带有数组数组的函数,并在某些条件下将其重构为不同的形式 . 例如,让我们说:
array = [
["City1","Spanish", "163"],
["City1", "French", "194"],
["City2","English", "1239"],
["City2","Spanish", "1389"],
["City2", "French", "456"]
]
所以我想创建一个按字母顺序按城市排序的新数组,按语言排序列(按列可选排序),任何空值都将替换为0.例如,输出到上面的数组应该是:
[
[0, 163, 194],
[1239, 1389, 456]
]
我写了这个方法,但我不确定它是否合乎逻辑 . 它绝对是硬编码的,我试图使它可以用于上述格式的任何输入 .
import numpy as np
new_array = [[]]
x = 'City1'
y = 'City2'
def solution(arr):
for row in arr:
if row[0]==x:
new_array[-1].append(row[2])
else:
x = x + 1
c.append([row[2]])
solution(array)
我知道我需要修复语法,并编写一个循环来按字母顺序排序 . 任何有关这方面的帮助将不胜感激,我想了解如何迭代这样的数组并执行不同的功能并将数组重组为新格式 .