В Perl, как мне сделать хэш из массивов @A
и @B
, имеющих равное количество элементов? Цель состоит в том, чтобы каждое значение было @A
в качестве ключа к значению в @B
. Полученный хеш %C
будет, а затем дать возможность однозначно идентифицировать элемент от @B
ключ поставки от @A
.Как я могу сделать хеш Perl из массива с помощью ключей и другого массива со значениями?
ответ
это так просто, как
my %c;
@c{@a} = @b;
Если я правильно понял проблему правильно:
my %c;
$c{$a[$_]} = $b[$_] for (0 .. @a-1);
являются ключи, B являются значения хэш-C:
use strict;
use warnings;
my @a = 1 .. 3;
my @b = 4 .. 6;
my %c;
for (0 .. $#a) {
$c{$a[$_]} = $b[$_]
}
Имейте в виду, что не должно быть каких-либо повторяющихся значений в массив A.
use List::MoreUtils 'mesh';
my %c = mesh @a, @b;
Вот как это сделано внутри (если вы уверены, что о равном количестве элементов):
my %c = map { $a[$_] => $b[$_] } 0 .. $#a;
Приятный, у меня не было мысль об использовании карта. –
или катите свои собственные: 'sub mesh {@_ [map $ _ & 1? $ _ >> 1: ($ _ >> 1) + ($ # _ >> 1), 1 .. @ _]} ' – ysth
- 1. PHP изменения ключей массива с значениями ключа из другого массива
- 2. значения Совпадение из массива со значениями из другого массива
- 3. Как объединить массив ключей с соответствующими значениями из другого массива?
- 4. Заменить кусочек Numpy массива со значениями из другого массива
- 5. Найти комбинацию ключей массива со значениями
- 6. Найти значение массива с помощью ключей из другого массива
- 7. Как заполнить [x]% массива 2d со значениями другого массива
- 8. Получение массива со значениями из массива NSDictionary
- 9. Преобразование всех ключей Array с значениями из другого массива
- 10. Как заменить массив, содержащий индексы со значениями из другого массива?
- 11. Поиск ключей из массива в значениях другого массива и замена
- 12. Как обновить один массив NumPy со значениями из другого массива?
- 13. Заполните пустые значения в массив со значениями из другого массива
- 14. Заполнение массива со значениями с помощью многопотоков
- 15. Создание массива из ключей и значений другого массива
- 16. изменить значение в хеш с помощью массива ключей в ruby
- 17. Возвращение массива ссылок из хеш-ключей или возвращаемой подпрограммы
- 18. Создать новый массив со значениями из другого массива
- 19. Заменить заполнителей в массив со значениями из другого массива
- 20. Удаление массива значений из одного массива Сравнение ключей другого массива
- 21. Perl сравнивать содержимое массива с хэш-значениями
- 22. оси со значениями массива, Highcharts
- 23. Заменить значения в Numpy массива значениями из другого Numpy массива
- 24. Фильтр массива хеш-ссылок в perl
- 25. Сортировка массива объектов StdClass значениями другого массива
- 26. PHP заменить строку со значениями из массива
- 27. Создание нового массива с значениями ключей X массива
- 28. Я хочу, чтобы сравнить значения из одного массива со значениями другого массива
- 29. Как я могу отфильтровать массив при сопоставлении ключей массива из другого массива?
- 30. Как отсортировать ключи массива с помощью других ключей массива?
Отлично! Я забыл о разрезе, хотя я регулярно его использую. – codeholic
Спасибо! Интересно, почему это не в книгах (которые я читал). – Temujin
http://perldoc.perl.org/perldata.html#Slices – toolic