Combinazione di vettori in APL (creando tuple con elementi da ciascun vettore)

StackOverflow https://stackoverflow.com//questions/25012889

  •  21-12-2019
  •  | 
  •  

Domanda

Ho 2 vettoriali:

a ← 1 2 3
b ← 5 6 7
.

Vorrei creare un array nidificato con elementi di vettore di 2 elementi, avendo un elemento da un B (Tuples), I.e.:

┌───┬───┬───┐
│1 5│2 6│3 7│
└───┴───┴───┘ 
.

Come lo farei in APL?Non riesco a trovare alcuna soluzione elastica, solo (a[1],b[1]) (a[2],b[2]) (ho anche provato il prodotto esterno con la funzione ma senza successo).

È stato utile?

Soluzione

Prova questo:

⊂[2] a,[1.5]b
.

La prima parte: a,[1.5]b unisce i due array e crea un array bidimensionale con ciascuna colonna è il contenuto delle variabili A e B.

Quindi, ⊂[2] incapsula ogni riga in coppie, con conseguente uscita desiderata.

Nota che se si utilizza Dyalog, potrebbe essere necessario utilizzare ↑ anziché ⊂.Penso che questo dipenda dal valore della variabile ⎕ML, ma non uso Dyalog quindi non posso testare questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top