In Perl, come faccio a creare hash dagli array @A
e @B
con lo stesso numero di elementi? L'obiettivo è di avere ogni valore di @A
come chiave per il valore in @B
. L'hash risultante %C
consentirebbe quindi di identificare univocamente un elemento dalla chiave di fornitura da @A
.Come posso creare un hash Perl da un array con i tasti e un altro array con i valori?
risposta
è così semplice come
my %c;
@c{@a} = @b;
Se ho ben capito il problema in modo corretto:
my %c;
$c{$a[$_]} = $b[$_] for (0 .. @a-1);
a sono le chiavi, B sono i valori di hash C:
use strict;
use warnings;
my @a = 1 .. 3;
my @b = 4 .. 6;
my %c;
for (0 .. $#a) {
$c{$a[$_]} = $b[$_]
}
Tenete a mente che non ci devono essere i valori duplicati in la matrice A.
use List::MoreUtils 'mesh';
my %c = mesh @a, @b;
Ecco come è fatto internamente (se sei sicuro circa uguale numero di elementi):
my %c = map { $a[$_] => $b[$_] } 0 .. $#a;
Bello, non avevo pensato di usare la mappa. –
o tira il tuo: 'sottostringa {@_ [mappa $ _ & 1? $ _ >> 1: ($ _ >> 1) + ($ # _ >> 1), 1 .. @ _]} ' – ysth
- 1. Creare un hash Perl con un array come chiave
- 2. unione di hash rubino con array di valori in un altro hash con array di valori
- 3. Come posso convertire un array in un hash in Perl?
- 4. Creazione di un hash con i valori come array e il valore predefinito come matrice vuota
- 5. Come posso creare un array dai valori della chiave di un altro array?
- 6. Inversione un hash con array di valori
- 7. Creare un array con una dimensione fissa e riempire il contenuto predefinito con un altro array?
- 8. In Perl, come posso creare un hash le cui chiavi provengono da un determinato array?
- 9. Come posso filtrare un array di hash per ottenere solo le chiavi in un altro array?
- 10. Stampa i tasti di un array
- 11. Come creare un canale da un altro con i trasduttori?
- 12. Come posso assegnare due array a un hash in Perl?
- 13. Creare un array con valori equidistanti
- 14. Ordinamento di un array di hash da più chiavi Perl
- 15. Perl: taglia un array, senza creare un intero nuovo array
- 16. I valori unici da due array e metterli in un altro array - Jquery
- 17. Come rimuovere i valori da un array in PHP?
- 18. Come si impostano i valori di un array in un altro array in Java?
- 19. Sommando i valori di un array di hash in Ruby
- 20. Recuperare un array da parse.com e aggiungere i valori a un array locale (Android)
- 21. elimina tutti i valori da un array mantenendo i tasti intatti
- 22. Come posso creare un IntStream da un array di byte?
- 23. compilando i parametri (... rest) con un array?
- 24. Come posso trasformare in modo efficiente un array numpy.int8 in un array numpy.uint8 con valori spostati?
- 25. Creare un array, una tabella hash e un dizionario?
- 26. RSpec: confronto di un hash con chiavi stringa contro un hash con i tasti simbolo?
- 27. Come rimuovere i valori da un array mentre rinumerazione tasti numerici
- 28. Come combinare un hash con un altro hash in Ruby
- 29. Ordina array e riflette le modifiche in un altro array
- 30. Array uguale a un altro array
Ottimo! Ho dimenticato la soluzione fetta, anche se la uso regolarmente. – codeholic
Grazie! Mi chiedo perché non sia nei libri (quelli che leggo). – Temujin
http://perldoc.perl.org/perldata.html#Slices – toolic