arrays - 使用 grep 和 map 函数对哈希进行排序
问题描述
鉴于以下结构:
my %names = qw ( hanibal lecter Harry Potter INDIANA JONES Sarah connor scarlet O’Hara JAMES Bond );
编写一个程序,根据这个列表构建一个名称数组。结果数组应包含原始大写的全名(名字+姓氏),并应按姓氏/名字排序。排序时,必须忽略大小写。出于未知的原因,我们不希望列表中出现名为“Jones”或“Connor”的人,因此应将其过滤掉。
这是我的要求,我需要使用 grep、map 和 sort 函数来解决这个问题。
解决方案
哈希中的键和值都是名称。因此,从哈希“构建名称数组”的最简单方法是:
my @names = %names;
但这不使用map
or grep
。所以我们可以(毫无意义地)添加它们。
my @names = grep { 1 } map { $_ } %names;
我认为,也许,你应该更详细地解释你想要什么。
推荐阅读
- java - 从一个类而不是另一个类中读取 Java 中的属性文件时没有这样的文件或目录
- java - 获取 HttpURLConnection.getInputStream() 的内容类型
- python-3.x - 如何在 ubuntu 18.04 上安装 ansible 2.9+ 并使用 python3?
- wordpress - 如何在 WordPress 中重新创建用户表?
- worhp - WORHP 在局部仿射函数上非常慢
- android - WebView 无法访问 android_res 但 android_asset 工作
- django - 为什么 save() 方法在 django 模型中有另一个带有 super 的 save() 方法
- python - 是否可以在 R 中开发或创建类似 python 的类?
- angular - 如何在不导入所有角度组件 SCSS 文件的情况下引用 SASS 函数
- javascript - Lodash递归函数超过最大堆栈大小