Perl,数组的哈希:添加和删除键,添加到数组,所有这些都在 while 循环中

2024-03-21

我有一个散列,它应该包含链接到它们自己的数组的某些键。更具体地说,哈希键是质量值,数组是序列名称。如果已经存在该质量的数组,我想将序列名称添加到链接到相关质量的数组中。如果没有,我想创建一个并向其添加序列名称。所有这些都是在 while 循环中完成的,一一遍历所有序列。

我尝试过做类似的事情Perl 如何从数组散列中检索数组? https://stackoverflow.com/questions/12535408/perl-how-do-i-retrieve-an-array-from-a-hash-of-arrays但我似乎无法做对。

我刚刚收到这些错误消息: 标量值 @{hash{$q} 最好在 asdasd.pl 第 69 行写为 ${hash{$q}。 全局符号“@q”需要显式包名称 asdasd.pl 第 58 行。 还有其他一些人。

这是我尝试过的示例:

my %hash;
while (reading the sequences) {
    my $q = "the value the sequence has";
    my $seq = "the name of the sequence";

    if (exists $hash{$q}) {
        push (@{$hash{$q}}, $seq);
    } else {
        $hash{$q} = \@q;
        $hash{$q} = [$seq];
        next;
    }
}

这显然不应该是一个非常复杂的问题,但我是 Perl 新手,这种问题感觉很困难。我从不同的地方用谷歌搜索过这个,但似乎有一些我没有意识到的东西,而且它也可能非常明显。


您可以使用 perl 调用的内容自动活化让这变得很容易。您的代码不需要那个中心 if 语句。您可以将其归结为:

    push @{ $hash{$q} }, $seq;

如果散列中尚不存在特定的键,perl 将自动保存它,因为它可以推断出您需要此处的数组引用。

您可以通过谷歌搜索找到有关自动生存的更多资源。这是一个足够独特的词,绝大多数的点击似乎都是相关的。 :-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl,数组的哈希:添加和删除键,添加到数组,所有这些都在 while 循环中 的相关文章

  • 证明 Excel VBA Scripting.Dictionary 不保留项目插入顺序

    我正在尝试决定是否为我的项目使用 Excel VBA 集合或字典 出于多种原因 我倾向于字典 但在使用字典时我会继续阅读它For Each循环检索字典项目或从字典 Items 数组读取项目时 检索顺序可能不是添加项目的顺序 这对于我的应用程
  • Angular 4 显示其中的数据

    我不喜欢从 API 返回到我的 Angular 4 应用程序的数据 这是 JSON 的示例 我不关心美元 但这是我正在处理的数据类型 最终目标是在页面上展示 Coin Price BTC 4 281 28 ETH 294 62 etc JS
  • 如何用perl逐句读取文本文件?

    我想逐句读取文本文件 我的问题是下面的代码仅根据时期分开 usr bin perl use strict use warnings my file data txt open FILE file my buffer while my sen
  • 如何在javascript中动态向对象数组添加值?

    这是一个对象数组 var data label 1 value 12 label 1 value 12 label 1 value 12 label 1 value 12 我如何动态地为这些添加值 我尝试了以下代码但没有成功 var lab
  • 对象数组的数组(二维数组)JNI

    我正在努力创建自定义对象类型 ShareStruct 的二维数组 jobjectArray ret jobjectArray ins jobjectArray outs jclass myClass env gt FindClass env
  • 如何对 Data::Dumper 的输出进行排序?

    我想转储对象和散列的值 但它总是乱序打印键 如何按 递归 排序顺序转储键 use Data Dumper print Dumper obj Set Data Dumper Sortkeys 1获取 Perl 的默认排序顺序 如果要自定义顺序
  • 使用 -T 开关运行时 $ENV{ENV} 不安全

    当我尝试最后一个例子时perlfaq5 如何计算文件中的行数 http perldoc perl org perlfaq5 html How do I count the number of lines in a file 我收到一条错误消
  • 获取向量幂的有效方法

    我编写了一个代码 在数值上使用勒让德多项式直至某个高 n 阶 例如 case 8 p 6435 x 8 12012 x 6 6930 x 4 1260 x 2 35 128 return case 9 如果向量x太长这会变得很慢 我发现说之
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are
  • 具有恒定长度的 System.arraycopy

    我正在玩 JMH http openjdk java net projects code tools jmh http openjdk java net projects code tools jmh 我偶然发现了一个奇怪的结果 我正在对制
  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • 跟踪循环迭代

    抛硬币 成功 你赢100 否则你输50 你会一直玩 直到你口袋里有钱a 的价值如何a在任何迭代中都被存储 a lt 100 while a gt 0 if rbinom 1 1 0 5 1 a lt a 100 else a lt a 50
  • 将 NumPy 数组按元素映射到更多维度的数组

    我想要地图anumpy array从 NxM 到 NxMx3 其中三个元素的向量是原始条目的函数 lambda x f1 x f2 x f3 x 然而 像这样的事情numpy vectorize不允许改变尺寸 当然 我可以创建一个零数组并进
  • Postgres JSONB:数组数组的 where 子句

    postgres 中有 v 9 5 如果有的话 create table json test id varchar NOT NULL data jsonb NOT NULL PRIMARY KEY id 其中 data 是 json 并且包
  • 获取express.js中间件请求中“#”后的url

    我需要获取服务器中间件上的 url 使用express js 我用req url但是当 url 开头时 some urlreq url 返回 与req path 有没有办法获取url之后 在express js中 No URL 中以 符号永
  • 在 Windows 7 中使用 ActivePerl @ARGV 为空

    我有以下 Perl 脚本 我正在尝试使用 ActivePerl 在 Windows 7 中运行它 c Perl64 bin perl exe w use strict my mp3splt exe c Program Files x86 m
  • VBA中的字符串是可以迭代的数组吗?

    VBA中字符串是数组吗 例如 我可以像在 C C 中那样迭代它吗 做这样的事情 char myArray 10 for int i 0 i lt length i cout lt lt myArray i VBA 中的等价物是什么 它的行为
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • Pandas 更新多索引数据框中的值

    如何编辑多索引数据框的值 如果它是一个非多索引数据框 我知道我可以这样做 df at 0 foo 12 3 另外 这不起作用 df loc 0 foo a 12 3 考虑一个多索引列数据框 colnames foo foo foo po p
  • 启动 spring web mvc 应用程序时出现异常

    当我使用 spring 3 2 9 时 我的 spring 项目工作正常 但如果我将其更改为 4 1 4 则在启动应用程序时会出现以下异常
  • 使用 C# 向 GMail 发送 IMAP 命令

    我一直在尝试访问我的 GMail 帐户以从我的电子邮件帐户中检索未读电子邮件 但是 我只执行登录 之后的任何操作都不起作用 首先 我连接到服务器 然后发送登录命令 最后发送检查命令 问题是收到的响应仅涉及连接和登录 之后 它就停止等待从 S
  • 通用保存方法

    在我的通用存储库中 我需要编写通用 Save 方法 该方法将根据 id 编辑现有实体或添加新实体 public void Save
  • Docker:更改存储 docker 卷的文件夹

    On my Ubuntu EC2我使用 docker 容器托管一个应用程序 db数据和upload数据存储在卷中CaseBook data db and CaseBook data uploads这是使用以下命令创建的 docker vol
  • EFcore 中“FromSql”操作的结果中不存在所需的列“id”

    我有一个大问题FromSql就是这样 我有一个这样的模型 public partial class model public string name 我想从数据库 sql server 中的过程中获得一些结果 当我执行下面的代码时 var
  • Android 中的处理程序和内存泄漏

    请看下面的代码 public class MyGridFragment extends Fragment Handler myhandler new Handler Override public void handleMessage Me
  • 将一个静态共享库链接到我的共享库

    我在链接我当前正在从事的项目的一些选项方面遇到了一些困难 我正在尝试创建一个与其他 2 个库链接的共享库 我们称他们为libfoo so and libbar so 我的输出库必须是共享库 并且我想要静态链接libfoo so到生成的库 但
  • 无需 Visual Studio 即可部署到 Azure WebRole

    有没有一种方法可以将我的整个网站 Web 应用程序部署到 Azure WebRole 而不需要 Visual Studio Context IIS 网络部署 http www iis net downloads microsoft web
  • 如何在React Native中以redux形式设置隐藏字段?

    如何在React Native中以redux形式设置隐藏字段 我只是找不到任何方法来做到这一点 有什么帮助吗 我结束使用这个 this props dispatch change FORM NAME FIELD NAME VALUE 运行此
  • 为什么这个图在添加散点时失败,但在删除散点时却有效?

    我正在使用以下内容来绘制 x 日期和 y 小数 如果没有注释行 散点 它的效果很好 但是如果您取消注释它 它会在一个 x 轴上显示所有内容 我缺少什么 thanks import matplotlib pyplot as plt impor
  • 使用 TypeScript 实现流畅的 API?

    我正在尝试用 TypeScript 开发一个流畅的 api 我想使用它 如下所示 export interface Person firstName string lastName string new Builder
  • 您如何比较今年和去年同一周的同一天?

    大多数零售商在销售报告中使用商品日历 这可以帮助他们找到当年和上一年同一周的同一天 例如今天是 2016 10 10 星期一 上一年 2015 年同一周 星期一是 2015 年 10 月 12 日 我们如何通过 SQL 查询捕获这一点并将它
  • 分页库和房间具有不同的 PagedLists,取决于不同的请求

    我正在尝试使用新的 Android 架构组件设置所有列表 房间持久性库 https developer android com topic libraries architecture room html and 分页库 https dev
  • 如何使用批处理文件构建解决方案

    我想使用批处理文件构建 NET 解决方案 我知道我需要使用以下语句 devenv build release D Source Code Source test sln 但我不知道如何创建将在 VS 命令提示符下执行的批处理文件 Visua
  • .Net 的 RSS/Atom 解析库

    我正在尝试找到一个可以读取给定 RSS Atom 提要的库 并且可以猜测其格式并将其抽象为项目列表 这个想法是构建一个可以接收任何提要的简单 RSS 阅读器 我知道 PHP 有一些库可以做到这一点 但我找不到任何 Net 版本 如果您使用的
  • 仅获取未隐藏的元素.. Jquery

    我只需要获取 jquery foreach 循环中的 show 元素 在下面的代码中 我得到了所有带有类测试的元素 即隐藏和显示的元素 但只需要显示而不是隐藏一个 如何过滤并在这一行本身中获取它 element find test each
  • 将 Symfony 翻译传递给 Symfony Webpack Encore

    对于 Symfony 我使用翻译 https symfony com doc current components translation html 树枝和Webpack 再来一次 https symfony com doc current
  • 从网站获取html源代码,然后从html文件中获取元素

    我想获取网站的 HTML 代码 然后从该 HTML 文件中获取某个元素 有些东西可以获取 HTML 代码 例如 ajax 和 jquery 我正在使用节点并希望它是完整的JavaScript 另外 我不知道如何从中获取某个元素 我已经在 p
  • Perl,数组的哈希:添加和删除键,添加到数组,所有这些都在 while 循环中

    我有一个散列 它应该包含链接到它们自己的数组的某些键 更具体地说 哈希键是质量值 数组是序列名称 如果已经存在该质量的数组 我想将序列名称添加到链接到相关质量的数组中 如果没有 我想创建一个并向其添加序列名称 所有这些都是在 while 循