繁体   English   中英

如何打印第一个不同值的标量值

how to print the scalar value of the first different value

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

下面的脚本将为每个键打印每个元素的所有标量值,以及如何仅打印哈希中每个元素的第一个标量值。

#!/usr/bin/perl
use warnings;
use strict;
use Tie::IxHash;    

my %KEY_VALUE;
tie %KEY_VALUE,'Tie::IxHash';


my %KEY_VALUE= (
    0 => ['A','A','C','B','D'],
    1 => ['C','C','C','F','E','E'],
    2 => ['Z','X','X','A','A','Y','Y'],
    3 => ['A','A','B','B'],
    4 => ['E','E','R','M','M'],
    5 => ['D','F','F','F','E','E'],
    );

 while (my ($k, $v) = each %KEY_VALUE) 
{
  print "KEY= $k  ";
  print scalar "VALUE= @$v\n"; #But this will print all the value
}

想要的输出:

KEY= 0  VALUE:0 2 3 4   #The scalar value of first A C B D, start with 0
KEY= 1  VALUE:0 3 4     #The scalar value of first C F E
KEY= 2  VALUE:0 1 3 5   #The scalar value of first Z X A Y
KEY= 3  VALUE:0 2       #The scalar value of first A B
KEY= 4  VALUE:0 2 3     #The scalar value of first E R M
KEY= 5  VALUE:0 1 4     #The scalar value of first D F E
2 个回复
my @vals = qw( Z X X A A Y Y );

my %seen;
my @positions = grep { !$seen{ $vals[$_] }++ } 0..$#vals;

即使未对相同的字符串进行分组,此解决方案仍然有效。

更换

print scalar "VALUE= @$v\n"; #But this will print all the value

say "VALUE:0 ", join ' ', grep $v->[$_] ne $v->[$_ - 1], 1 .. $#$v;
  • 总是打印零
  • 仅显示对应元素与上一个元素不同的索引

仅当同一字母从未出现在其首次出现的组之外时(例如,不会发生AABBA ), AABBA 如果可能发生这种情况,请参阅ikegami的答案(带有哈希值)以跟踪已报告的字母。

2 如何结合标量值

在此伪代码中,最后一行将不起作用,因为标量值不是IQueryable。 在SQL中很简单: 在我的场景中,我确实需要选择一个有效的Table.ID,因此解决方法是: 但是,如果有一种输出“ select 7;”的方法, 例如,这就是我要解决的问题。 ...

3 间接打印标量变量的值-Tsql

看起来有点讨厌,但我想知道是否有可能。 实际上,我想打印几个变量的值。 我可以多次编写print语句,但是我想使用一个while循环并编写一个可以逐个打印所有变量值的语句。 这就是我的想法: 语句print '@'+@test+'1'打印@test1 ,这是可以的。 但是我正 ...

4 如何手动反序列化标量值?

我正在遍历Yaml文件,并想将保存在YamlScalarNode的Value中的字符串反序列化为dotnet类型。 我在YamlScalarNode中找不到转换方法。 项目中必须有一个转换器,该转换器以两种方式都考虑yaml约定。 我只是找不到。 ...

7 如何打印第一个和最后一个值?

下面的部分代码显示了子网中的所有主机IP地址,我想修改代码,使其仅打印此列表的起始地址和最后一个地址 如何在此处使用数组打印第一个和最后一个值? 电流输出 所需的输出 ======================================== 更新: ...

9 如何仅打印python中的第一个值

在我的输出文件中,我有: 现在,我试图编写一个脚本以打开输出,读取能量值并将其打印在另一个输出中。 下面是我的代码 我的问题是我想在脚本中仅打印Energy Energy = -0.111 ....的第一个值,但是在输出中包含脚本的情况下,我却拥有所有这些值,因此它不起作用 ...

2019-10-06 18:25:31 4 50   python
10 如何在循环中从列表中打印不同的值?

我试图制造一个Discord机器人,而我想添加的功能之一是从列表中选择一个随机项目并将其发布。 一段时间后,从同一列表中选择一个新项目并发布。 Discord.py github有一个执行循环/后台任务的示例。 上面的代码工作正常。 僵尸程序会不断记录日志。 这是我尝试更改它 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM