Perl 学习笔记-列表和数组】的更多相关文章

RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.unshift(123); array.unshift("value1","value2"); push() 在数组末尾添加元素 array.push("value"); array.push(123); array.push("value1&…
Go语言学习笔记八: 数组 数组地球人都知道.所以只说说Go语言的特殊(奇葩)写法. 我一直在想一个人参与了两种语言的设计,但是最后两种语言的语法差异这么大.这是自己否定自己么,为什么不与之前统一一下. 声明数组 var variable_name [SIZE] variable_type 例子: var x [10] int 初始化数组 var x = [5] int {1, 2, 3, 4, 5} var y = [...] int {1, 2, 3, 4, 5} 初始化数组中 {} 中的元…
<python基础教程(第二版)>学习笔记 列表/元组(第2章)序列中的下标从0开始x='ABC' ==> x[0]='A', x[1]='B', x[2]='C'负数索引从右边开始.最后一个元素下标是-1:x[-1]='C''ABC'[0]  ==>  'A'raw_input("x:")[3] 输入数据当作字符串列表分片:x[2:5], x[-3:-1], x[-3:], x[:3], x[:]  #列表名字[起始下标:结束下标]列表分片+步长: x[0:1…
笔记来自<<Perl语言入门第5版>> 1. Perl中列表指标量的有序集合,数组则是存储列表的变量, 这两个术语经常混用,不过更精确地说,列表指数据,而数组指变量.数组的表示用 @my_array,因为Perl觉得@rray 看起来像array,正如 $calar 看起来像时scalar 标量变量一样. 2.    数组下标从0开始,数组或列表中的每个元素都时单独的标量变量,拥有单独的标量值,有序的.每个元素都有整数作为下标索引.由于每个元素相互独立,所以列表或数组中的元素类型可…
成员数组和指针是我们c语言中一个非常重要的知识点,记得以前在大学时老师一直要我们做这类的练习了,但是最的还是忘记了,今天来恶补一下.     单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接.微博截图如下.我觉得好多人对这段代码的理解还不够深入,所以写下了这篇文章. 为了方便你把代码copy过去编译和调试,我把代码列在下面:  代码如下 复制代码 #incl…
一:基础 1:安装perl      centos: yum -y install perl       官网:https://www.perl.org/      升级到5.22:先下载,执行./install.sh 安装           报错:/lib64/libc.so.6: version `GLIBC_2.14' not found (required by perl/bin/perl)           原因:编译时写死了glibc的版本,而系统中只到2.12 ,所以重装gli…
  列表或称为数组,和c语言中的数据类似,只是perl自己特殊的一些写法. 1.1.定义 一个列表或者数组可以包含数字,字符串,undef 值,或者任意不同类型的标量值的组合,但是这些元素的类型通常是一致的. 数组下标: ·    数组中的元素是由连续整数编了号的,其从0 开始; ·    下标可以是任何能返回数值的表达式.如果其值不为整数,则自动将其转换为小于它的最大整数值. ·    如果下标超出了数组的范围,则其值为undef.这和通常的变量情况是一样的,如果没有值存放在变量中,则其为un…
本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边). 集合是 String 类型的无序集合,不能出现重复的数据. 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,但分数(score)却可以重复.不同的是每个元素都会关联一个double类型的分数.redis正是通过分数权重来为集合中的成员进行从小到大的排序. 列表相关命令:…
一起来学matlab-matlab学习笔记12 12_1 单元数组和元胞数组 cell array --cell,celldisp,iscell,isa,deal,cellfun,num2cell,size 觉得有用的话,欢迎一起讨论相互学习~Follow Me 单元数组(cellarray)和结构体(structure)都可以将不同类型的相关数据集成到一个单一的变量中,使得大量的相关数据的处理变得非常简单而且方便.但是,需要注意的是,单元数组和结构体只是承载其他数据类型的容器,大部分的数学运算…
一起来学matlab-matlab学习笔记11 11_3 高维数组处理和运算 filp, shiftdim, size, permute, ipermute 觉得有用的话,欢迎一起讨论相互学习~Follow Me filp 翻转元素顺序 语法 B = flip(A) B = flip(A,dim) 说明 B = flip(A) 返回的数组 B 具有与 A 相同的大小,但元素顺序已反转.B 中重新排序的维度取决于 A 的形状: 如果 A 为向量,flip(A) 将沿向量的长度方向反转元素顺序. 如…
一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind 觉得有用的话,欢迎一起讨论相互学习~Follow Me squeeze 删除单维度--B=squeeze(A) B = squeeze(A)返回一个与A元素相同,但去掉了所有单维度的数组B.单例维度是指size(A,dim) = 1的任何维度.二维阵列不受squeeze函数的影响;如果A是一个行或列向量或标量(1×1)的值,那么B = A. 从数组中去掉单维度 创建一…
Fortran学习笔记目录 书接上回:Fortran学习笔记:02 流控制语句 数组(Array) 定义数组 一维数组 program main implicit none integer :: i integer :: a(10) do i=1,10,1 a(i)=i*i; end do do i=1,10,1 write(*,*) "i=",i,"i*i=",a(i) end do end 数组申明格式: Datatype name(size) 注意,size必…
AForge学习笔记(11):AForge.Imaging.Textures Clouds texture:具有云彩的纹理效果,示例如下:             CloudsTexture textureGenerator = new CloudsTexture();             float[,] texture = textureGenerator.Generate(320, 240);             pictureBox1.Image =... 2012-11-06…
1. 实现两个数组相加,在数据量特别大的时候 产生数组: (1)  从列表产生数组:a=[0,1,2,3] a=np.array(1) a (2)  从列表传入 a=np.array([1,2,3,4]) (3)  生成全0的数组 np.zeros(5) (4)  生成全1的数组 np.ones(5,dtype=’bool’)àdtype可以用来指定数据类型 (5)  可以使用fill方法将数组设为指定值 (6)  生成整数序列 a=np.arange(1,10)从1开始生成数据,一直到9 (7…
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特定方法动态增加元素.定义方式:arr = [元素] (2) Tuple 固定的数组,一旦定义后,其元素个数是不能再改变的.定义方式:arr = (元素) (2) Dictionary 词典类型, 即是Hash数组.定义方式:arr = {元素k:v} http://developer.51cto.c…
这几天抽空学习了es6语法,关于字符串,数值,数组,函数以及对象的扩展,看到es6标准入门这本书,里面讲的扩展特别多,我认为有几部分在项目上用不到,就挑有用的当笔记学习了. 字符串的扩展 str.includes(str1, n) 返回布尔值,表示是否找到了参数字符串 params: 第一个参数str1 必选, 要匹配的字符   第二个参数n 可选 表示开始搜索的索引位置 第n个开始搜索到结束 let str = 'hello world' let str1 = 'hello' console.…
1.在目录树中移动. 程序运行时会以当前工作目录作为相对路径的起点, 可以使用  chdir 操作符改变当前目录: chdir "/etc" or die "Can't chdir to /etc:$!"; #因为这是一个相对操作系统的调用, 所以错误信息会返回到 $! 中. 由Perl程序启动的所有进程都会继承Perl程序的工作目录. 但对于启动Perl的进程,它的工作目录不会随Perl工作目录的改变而改变, 所以无法写出任何Perl程序来代替Shell里的cd命…
1.使用正则表达式替换文本  s///  s/<pattern>;/<replacement>;/ 如果匹配失败, 则什么也不会发生, 变量也不受影响. 返回布尔值, 替换成功时为真, 否则为假. $roger = "This is a text"; $roger =~ s/This (\w+)/This was/; print $roger; $_ = "green scaly dinosaur"; s/(\w+) (\w+)/$, $/;…
1.Perl中的哈希 高效快捷, 没有大小限制. 大哈希一样很快! 命名: 和Perl其他标识符一样, 同时拥有自己的的名字空间.  $roger{"sex"} 和 $roger没有关系 赋值: 对已存在的哈希赋值会覆盖原有值. 哈希元素会因赋值而产生(赋值就是"插入"哈希表中),  访问不存在值就会得到undef $roger{'name'}="roger"; if($roger{'sex'} == undef){ print "un…
1.定义子程序 使用sub关键字定义 ;   子程序名和标识符同要求, 但是有的特殊的可以用 &符号;  子程序是全局的, 不需要再使用前声明;  重名函数后者覆盖前者. sub roger{ ; #全局变量$n print "Hello , sailor number $n!\n"; } &roger # 前面加&来调用, 不过没加好像也能调用. 返回值: 在子程序执行过程中会不断运算, 而最后一次运算的结果(不管是什么)都会被当成子程序的返回值.  最后一行…
1.读取标准输入<STDIN>(行输入操作=> 读取一行直到换行符) chomp($line = <STDIN>); # 读取一行并去掉最后的换行符(不会自动去掉) print $line; printf("\n"); # 格式化输出换行符 #在下面的循环里面会自动去掉末尾换行符,和上下文相关?不过最好还是写在循环体内的第一行,如果需要的话 while(defined($line=<STDIN>)){ # defined保证变量不为undef…
最近学习Perl, 准备看一遍入门指南,关键的东西还是记录下来,以便以后复习和查看参考. 笔记来自<<Perl语言入门第5版>> 1. 在Perl内部,不区分整数值和浮点数值,所有数字的内部格式都相同,采用"双精度浮点数"运算,自动转换.范围值(1e-100到 1e100) 2. 可以在一个很大的数中间插入下划线,便于阅读: 61_298_040_283_768,在取模运算时,如果其中一边或两边都是负数,则不同的Perl版本可能会有不同结果.不能计算负数的负数次方,因为会得到复数,…
哈希 哈希是一种数据结构,它和数组的相似之处在于可以容难任意多的值并能按需取用,而他和数组的不同在于索引的方式,数组是以数字为索引而哈希则是以名字为索引. 哈希的键是唯一的,哈希的值可以重复. 哈希的应用场景 举例: 按名字找姓: 按主机名找IP地址或者按照IP地址找主机名: 按照单词统计其出现次数: 按用户名统计每个人使用的磁盘块数量: 按照驾照号码找出姓名. 访问哈希元素 如:$hash{$some_key} //注意使用的是大括号{} 不是中括号 赋值: $family_name{'fre…
读取标准输入 用<STDIN>进行标准输入:chomp($line=<STDIN>); 如果读到文件尾,行输入操作符就会返回undef.便可利用这一性质跳出循环. while(defined ($line=<STDIN>)){ print "I saw $line"; } 简写为: while(<STDIN>){ print "I saw $_ ."; } 注意:这个简写只在最早的写法中才能正常运行,如果将行输入操作符…
子程序 定义子程序(可以在程序的任意位置) 关键字sub.子程序名(不包含与号)以及用花括号封闭起来的代码快. 如:sub marine{ $n+=1; print "hello,sailor number $n!\n"; } 调用子程序:&marine; 返回值 所有子程序都会有返回值.最后一次运算的结果是什么就将这个运算结果当作改程序的返回值. 如:sub sum_of_a_and_b{ $a+$b; print "Hey,I'm returning a valu…
数组: 特殊的数组索引:加入对索引值超过数组尾端的元素进行赋值,数组将会根据需要自动扩大,只要有可用的内存分配给数组.意外增加的数组元素的值为undef. $a[0]="aa"; $a[1]="bb"; $a[900]="99"; 有时需要找出数组中最后一个元素的索引值,如对数组rocks而言.其最后一个元素的索引值为$#rocks,元素个数$#rocks+1. 数组最后一个元素也可以用#rokcs[-1]访问.-1表示倒数第一的意思. 列表直接…
同其它编程语言一样,python也提供了丰富的数据结构,以方便数据的处理.本文介绍两种最基本的数据集合,列表和元组的使用. 一.列表使用介绍 可以理解为一个有序的序列.其使用方式举例如下: list=[]  #定义了一个空的列表list.append("hello1")   #往列表的尾部插入一个元素list.append(12)  #往列表的尾部插入一个元素,可以看出,列表中的元素可以是多种类型的print listfor item in list:   #利用for循环遍历列表中的…
HTML 列表 html中列表使用标签<ul>和 <ol>来实现,不同的行用标签<li>来实现 <li>中包含的就是列表每行的内容.列表包含有序列表<ol> 和 无序列表<ul> 定义列表 自定义列表不仅仅是一列项目,而是项目及其注释的组合. 自定义列表以 <dl> 标签开始.每个自定义列表项以 <dt> 开始.每个自定义列表项的定义以 <dd> 开始. 实例 不同类型的无序列表 <body&…
(1)用perl来ls一个目录: 写perl的时候,经常要调用到系统命令,perl有很多等价的函数可以用,但是,不小心任性了,就想用system来实现了,好吧,来个ls把,列出指定的一个目录,直接上代码 sub ls{ my ($dir) = @_; system("ls -al $dir "); } 不做参数校验了,直接ls一个目录,这个是试了一下,确实可以这样做,感觉是挺容易的,没压力.但是,你仔细想一想,这真的可行吗?仔细想一下使用场景,你会发现,这个是一个坑,据说,是惨痛的教训…
C语言中,最灵活但又容易出错的莫过于指针了.而指针数组,是在C中很常见的一个应用.指针数组的意思是说,这个数组存储的所有对象都为指针.除了存储对象为指针,即一个地址外,其它操作和普通数组完全一样. #include <stdion.h> int main() { int i; char *name[] = {"BASIC", "FORTRAN", "C++", "Pascal", "COBOL"…