欢迎来到山村网

Perl中怎样从数组中删除某个值

2019-03-02 14:11:56浏览:661 来源:山村网   
核心摘要:  这篇文章主要介绍了Perl中怎样从数组中删除某个值?本文讲解如何把数组的元素赋值为undef,然后在从数组中删除元素,需要的朋友

  这篇文章主要介绍了Perl中怎样从数组中删除某个值?本文讲解如何把数组的元素赋值为undef,然后在从数组中删除元素,需要的朋友可以参考下

  我不确定undef是否和从数组中消除值有确切的关系,猜测一下,如果我们将undef视为"空",那么会有一些联系。但通常来说,将某些东西赋值为undef和删除某些东西是不一样的。

  首先来看怎样把数组的元素赋值为undef,之后再了解如何从数组中删除元素。

  从下面的代码开始:

  代码如下:

  use data::Dumper qw(Dumper);

  my @dwarfs = qw(Doc Grumpy Happy Sleepy Sneezy Dopey Bashful);

  print Dumper @dwarfs;

  使用data::Dumper打印时,得到如下输出:

   代码如下:

  $VAR1 = [

  'Doc',

  'Grumpy',

  'Happy',

  'Sleepy',

  'Sneezy',

  'Dopey',

  'Bashful'

  ];

  将元素赋值为undef

  使用undef()函数的返回值:

   代码如下:

  use data::Dumper qw(Dumper);

  my @dwarfs = qw(Doc Grumpy Happy Sleepy Sneezy Dopey Bashful);

  $dwarfs[3] = undef;

  print Dumper @dwarfs;

  这些代码会把3号元素(数组中第4个元素)赋值为undef,但是并不改变数组的大小:

  代码如下:

  $VAR1 = [

  'Doc',

  'Grumpy',

  'Happy',

  undef,

  'Sneezy',

  'Dopey',

  'Bashful'

  ];

  直接对数组的某个元素使用undef()函数也会产生相同的结果:

   代码如下:

  use data::Dumper qw(Dumper);

  my @dwarfs = qw(Doc Grumpy Happy Sleepy Sneezy Dopey Bashful);

  undef $dwarfs[3];

  print Dumper @dwarfs;

  所以,$dwarfs[3] = undef; 和 undef $dwarfs[3];的作用是一样的,它们都能把值赋成undef。

  使用splice从数组移除元素

  splice函数会从数组中彻底删除元素:

   代码如下:

  use data::Dumper qw(Dumper);

  my @dwarfs = qw(Doc Grumpy Happy Sleepy Sneezy Dopey Bashful);

  splice @dwarfs, 3, 1;

  print Dumper @dwarfs;

  $VAR1 = [

  'Doc',

  'Grumpy',

  'Happy',

  'Sneezy',

  'Dopey',

  'Bashful'

  ];

  可以看到,在这个例子中,数组因为我们从数组中间移除了一个元素而缩短了一个单位。

  这也就是怎样从数组中删除一个元素。

(责任编辑:豆豆)
下一篇:

Perl基本数组排序方法介绍

上一篇:

Perl中捕获警告信息、异常信息并写入日志详解

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com