Hay una función o método en Python llamado zip.
La idea fundamental de zip por los motivos que sea es esta:
Tenemos dos array o mas.
Y queremos obtener algo como esto:
[ ["China", 1391], ["India", 1364], ["Estados Unidos", 327].....]
Creo que hice algo parecido.
Public Sub Main()
Dim paises As String[] = ["China", "India", "Estados Unidos", "Indonesia", "España"]
Dim poblaciones As Integer[] = [1391, 1364, 327, 264]
Dim importaciones As String[] = ["Arroz", "Trigo", "Petroleo", "Computadoras", "Aceite"]
Agrupar(paises, poblaciones, importaciones)
End
Public Sub Agrupar(...)
Dim union As New Variant[]
Dim grupo As New Variant[]
Dim aelementos As Variant
Dim x As Integer
Dim y As Integer
Dim minnumelementos As Integer
'Encontrar el array con el tamaño minimo de elementos
minnumelementos = Min(Param[0].count, Param[1].Count)
For x = 2 To Param.Max
minnumelementos = Min(minnumelementos, Param[x].Count)
Next
'Cambiar el tamaño de los arrays al del más pequeño
For Each aelementos In Param
aelementos.Resize(minnumelementos)
Next
'Agrupo cada columna que pertenece a cada pais en un array
For x = 0 To Param.Max
For y = 0 To Param.Max
grupo.Add(Param[y][x])
Next
union.Add(grupo.Copy())
grupo.Clear
Next
Stop
End
Dim paises As String[] = ["China", "India", "Estados Unidos", "Indonesia", "España"]
Dim poblaciones As Integer[] = [1391, 1364, 327, 264]
Dim importaciones As String[] = ["Arroz", "Trigo", "Petroleo", "Computadoras", "Aceite"]
Agrupar(paises, poblaciones, importaciones)
End
Public Sub Agrupar(...)
Dim union As New Variant[]
Dim grupo As New Variant[]
Dim aelementos As Variant
Dim x As Integer
Dim y As Integer
Dim minnumelementos As Integer
'Encontrar el array con el tamaño minimo de elementos
minnumelementos = Min(Param[0].count, Param[1].Count)
For x = 2 To Param.Max
minnumelementos = Min(minnumelementos, Param[x].Count)
Next
'Cambiar el tamaño de los arrays al del más pequeño
For Each aelementos In Param
aelementos.Resize(minnumelementos)
Next
'Agrupo cada columna que pertenece a cada pais en un array
For x = 0 To Param.Max
For y = 0 To Param.Max
grupo.Add(Param[y][x])
Next
union.Add(grupo.Copy())
grupo.Clear
Next
Stop
End
Resultado:
En Python:
Los datos son inventados.
Saludos