Я пытаюсь написать функцию, которая принимает массив массивов и реструктурирует его в другую форму с определенными условиями.Например, скажем:
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)
Я знаю, что мне нужно исправить синтаксис, а также написать цикл длясортировка по алфавиту.Буду признателен за любую помощь в этом, я хотел бы понять, как перебирать массив, подобный этому, выполнять различные функции и реструктурировать массив в новый формат.