16数组

目录

数组

具备某种相同属性的数据的集合

数组中可以存放多个值,方便查找,方便有序的存放

在linux中,数组分为:普通数组(列表)和关联数组(字典)

普通数组的下标必须是整数
关联数组的下标可以是字符
数组的下标是从0开始的

查看数组

declare -a         查看普通数组
declare -A		  查看关联数组

定义数组

直接定义

[root@localhost ~]#array1=(11 22 33)



declare -a array1='([0]="11" [1]="22" [2]="33")'

指定下标的方式定义

[root@localhost ~]#array2=([2]=aa [1]=bb [0]=cc)




declare -a array2='([0]="cc" [1]="bb" [2]="aa")'

依次赋值

[root@localhost ~]#array3=()
[root@localhost ~]#array3[0]=A
[root@localhost ~]#array3[1]=B
[root@localhost ~]#array3[2]=C



declare -a array3='([0]="A" [1]="B" [2]="C")'

使用命令

[root@localhost ~]# array4=(`ls /root`)  (将root目录下的文件名存到数组array4里)



declare -a array4='([0]="1" [1]="1.txt" [2]="abc.txt" [3]="c" [4]="dome" [5]="hhh" [6]="hhh2" [7]="lianxi" [8]="text" [9]="wenjianjia")'

访问数组

使用变量的方式取值

echo $array1     (默认是取第一个值)

[root@localhost ~]#echo $array1
11

使用下标的方式取值

echo ${array1[1]}
[root@localhost ~]#echo ${array1[1]}
22

反向取值法

echo ${array1[-1]}[root@localhost ~]#echo ${array1[-1]}33注:正向取值,下标从0开始;反向取值,下标从-1开始。

一次取出所有的值

[root@localhost ~]#echo ${array1[*]}11 22 33

添加数组元素

[root@localhost ~]#array1[3]=44declare -a array1='([0]="11" [1]="22" [2]="33" [3]="44")'注:添加元素,如果添加的下标不存在即为添加数据,如果下标已经存在则为修改数据。

删除数组元素

unset [变量名]  : 删除变量删除特定某一个数据unset array1[3]删除所有的数据unset array1

关联数组

declare -A array5=()declare -A array5='()'

遍历数组

for循环

for 变量 in 数组do		# for循环开始# for循环体done	# for循环结束for 变量 in 数组 ; do for循环体1; for循环体2; for循环体3 ; done

作用:

1、作用是遍历数组,对数组中的所有元素进行处理
2、将数组中存储的元素取出来使用(计算,做特殊处理)

for i in ${array1[*]}; do echo $i;  done
上一篇:Numpy的高级应用


下一篇:Base64格式图片上传