列表和数组变量

1. 列表

列表是包含在括号里的一序列的值,可以为任何数值,也可为空,如:(1, 5.3 , "hello" , 2),空列表:()。

2. 数组——列表的存贮

列表存贮于数组变量中,与简单变量不同,数组变量以字符"@"打头

(1)数组变量创建时初始值为空列表;

(2)同一个名字可以同时用于命名数组以及变量;

  • 数组的存储

    • 下标存取,第一个下标为0
    • 数组间拷贝,@result = @original
    • 数组给列表赋值,@list2 = (1, @list1, 5); # @list2 = (1, 2, 3, 4, 5)
    • 数组对简单变量的赋值,@list2 = (1, @list1, 5); # @list2 = (1, 2, 3, 4, 5)
  • 字符串中的方括号以及变量替换
    •   "$var[0]" 为数组@var的第一个元素。
          "$var\[0]" 将字符"["转义,等价于"$var". "[0]",$var被变量替换,[0]保持不变。
          "${var}[0]" 亦等价于"$var" ."[0]"。
          "$\{var}"则取消了大括号的变量替换功能,包含文字:${var}.
  • 列表范围
    •   (1..10) = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
           (2, 5..7, 11) = (2, 5, 6, 7, 11)
           (3..3) = (3)
        . 用于实数
          (2.1..5.3) = (2.1, 3.1 ,4.1, 5.1)
          (4.5..1.6) = ()
        . 用于字符串
          ("aaa".."aad") = ("aaa","aab", "aac", "aad")
          @day_of_month = ("01".."31")
        . 可包含变量或表达式
          ($var1..$var2+5)
        . 小技巧:
          $fred = "Fred";
          print (("Hello, " . $fred . "!\n") x 2); 
         其结果为:
          Hello, Fred!
          Hello, Fred!
  • 数组的输出
    •   @ary = {1, 2, 3};

      • print (@ary, "\n");#123
      • print ("@ary", "\n"); #1 2 3
  • 列表、数组的长度
    •   当数组变量出现在预期简单变量出现的地方,则PERL解释器取其长度。 $len = @ary;
  • 子数组
    •   @array = (1, 2, 3, 4, 5);
           @subarray = @array[0,1]; # @subarray = (1, 2)
           @subarray2 = @array[1..3]; # @subarray2 = (2,3,4)
  • 有关数组的库函数
    • sort 按照字符顺序排序
    • reverse 反转数组
    • chop 数组去尾
    • join/split 连接/拆分
时间: 2024-08-06 07:50:23

列表和数组变量的相关文章

perl5 第四章 列表和数组变量

第四章 列表和数组变量 by flamephoenix 一.列表二.数组--列表的存贮  1.数组的存取  2.字符串中的方括号和变量替换   3.列表范围  4.数组的输出  5.列表/数组的长度  6.子数组  7.有关数组的库函数 一.列表  列表是包含在括号里的一序列的值,可以为任何数值,也可为空,如:(1, 5.3 , "hello" , 2),空列表:().  注:只含有一个数值的列表(如:(43.2) )与该数值本身(即:43.2 )是不同的,但它们可以互相转化或赋值. 

<<Python基础教程>>学习笔记 | 第02章 | 列表和数组

第02章: 列表和数组 ------ 在Python中最基本的数据结构是序列,每个元素分配一个序号,即元素的序号,也即索引.注意,需要从0开始,第一位0,第二位为1,依次类推. Python包括: 字符串,列表,元祖,字典 这四种常用数据结构,或者说四种序列,其中元祖为不可变序列. 列表和元祖的主要区别 列表可变,而元祖不可变             >>>list1 = ['Tom',40] 所以元祖: 主要用于存储不变的数据   >>> >>> t

lPerl 学习笔记-列表和数组

笔记来自<<Perl语言入门第5版>> 1. Perl中列表指标量的有序集合,数组则是存储列表的变量, 这两个术语经常混用,不过更精确地说,列表指数据,而数组指变量.数组的表示用 @my_array,因为Perl觉得@rray 看起来像array,正如 $calar 看起来像时scalar 标量变量一样. 2.    数组下标从0开始,数组或列表中的每个元素都时单独的标量变量,拥有单独的标量值,有序的.每个元素都有整数作为下标索引.由于每个元素相互独立,所以列表或数组中的元素类型可

Shell函数,Shell数组,变量替换

定义函数 function 函数名 { 函数的功能体 ...... } 函数名(){ 函数的功能体 ...... } 如何调用函数 函数名 函数的使用规则? 1)先定义后调用,可以只定义不调用 2)定义放上面,调用放下面 3)函数名区分大小写 4)函数名相同,后定义的生效 5)函数名不准使用特殊符号和关健字 6)在函数体内定义的变量叫局部变量,只能在当前函数内使用 7)在函数体外定义的变量叫全局变量 8)在第二个函数里敲上第一个函数的函数名,这样可以调用第一个函数的变量 例 #!/bin/bas

perl语言入门总结-第3章-列表与数组

1-列表list指的是标题的有序集合, 而数组(array)则是存储列表的变量. 更精确地说,列表指的是数据,而数组指的是变量. 访问数组中的元素 $fred[0] = "yabba"; $fred[1] = "dabba"; $fred[2] = "doo"; $number = 2.71111; print $fred[$number-1]; #dabba 如果下标不是整数,会舍去小数. print $fred[145] #如果不存在下标则返

bash shell数组变量

一.定义数组变量 1.语法 (1)ArrayName=(parameter1 parameter2 ...) 例1.定义一个数组名为name,值为claire,obama,george的数组 name=(claire obama george ) (2)ArrayName=( parameter1 parameter2 ... ) 同样我们将例1改成第二种方式 name=( claire obama george ) 二.函数的访问 (1)下标访问 ${ArrayName[0]}   例1中就是

.NET重思(三)-数组列表与数组的区别,栈集合和队列结合的区别

数组列表和数组十分相似,区别在于数组列表的容量是可以动态变化的,而数组的容量是固定的.数组即Array类,数组列表即ArrayList类,两者十分相似.不过,Array类在System命名空间下,ArrayList类在System.Collections命名空间下.数组在初始化时需要指定容量,并且指定之后无法改变,而数组列表可以动态的改变容量. //初始化ArrayList ArrayList lst = new ArrayList(); //初始化ArrayList并将容量设置为100 Arr

列表与数组

列表和数组从0开始 列表可以修改,但是元组不能修改 >>> edward=['1',2]>>> john=['2',3]>>> database=[edward,john]>>> database[['1', 2], ['2', 3]]>>> 输入年月日,打出相应日期的月份名称 months=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']

数组变量和指针的关系

老师说数组变量可以被看作是const的指针变量,到底是"可以被看作",还是"就是"指针呢? 用程序证据来说明你的观点. (提示:如果对const指针的所有的操作都可以对数组变量做,而且结果一致,就说明数组变量就是指针:如果有某个操作不能做,或者结果不一致,就说明不是指针) #include <stdio.h> int main(){ int a[] = {1,1,2,3,4,5,6,7,8,9,0,}; int *const p = &a[0];