对于 Python 来说,序列是最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表元组。Python的元组与列表类似,不同之处在于元组的元素不能修改

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

对于 Java 来说,数组是在内存中存储相同数据类型的连续的空间,声明一个数组就是在内存空间中划出一串连续的空间。

数组名代表的是连续空间的首地址,通过首地址可以依次访问数组所有元素,元素在数组中的排序叫做下标从零开始。

所以本文将重点介绍数组的创建、初始化和使用。


目录

一、一维数组的初始化

1、Python

2、Java

二、二维数组的初始化

1、Python

2、Java

三、三维数组的初始化

1、Python

2、Java

四、代码

1、Python

2、Java


一、一维数组的初始化

1、Python

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

列表的创建无需声明类型,并且可以任意增删改查,里面的元素类型可混合

# 一维数组
list1 = ['Google', 'BaiDu', 1997, 2000]
list2 = [1, 2, 3, 4, 5]
print(type(list1[0]), type(list1[2]))
print(list1)

Debug 可看出每个元素的类型

  

for python 从第五次开始 python数组第一个_数据结构

输出元素“Google”和“1997”的类型,发现和debug的一样。

  

for python 从第五次开始 python数组第一个_数据结构_02

 

2、Java

Java无论是创建一维数组还是高维数组,首先先定义数组类型,数组中的元素必须为同一类型。 

与字符串的索引一样,数组索引从0开始。

创建一个长度为3,数组类型为int,元素分别为1,2,3的数组,代码如下:

int [] nums = {1, 2, 3};
System.out.println(nums[0]);
System.out.println(nums[1]);
System.out.println(nums[2]);

输出: 

  

for python 从第五次开始 python数组第一个_python_03

 

二、二维数组的初始化

1、Python

不同于一维数组的是,一维数组只需要一组中括号[]即可,二维数组需要两组中括号[]。

二维数组可看作为多个一维数组组合成的数组。

因此 list3[0] 为第一个一维数组 ["Mary", "Math"]

代码如下:

# 二维数组
list3 = [["Mary", "Math"], ["Nick", "Chinese"], ["John", "English"]]
print(list3[0][0])
print(list3[0])
print(list3)

输出: 

  

for python 从第五次开始 python数组第一个_数据结构_04

 

2、Java

 同一维数组类似,声明数组前要多加一个中括号[],给数组赋值时,再多加一组大括号{}即可。

二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组,例如:

String[][] std = {{"Mary", "Math"}, {"Nick", "Chinese"}, {"John", "English"}};
System.out.println(std[0][0] + ": " + std[0][1]);
System.out.println(std[1][0] + ": " + std[1][1]);
System.out.println(std[2][0] + ": " + std[2][1]);

输出: 

  

for python 从第五次开始 python数组第一个_java_05

 

三、三维数组的初始化

1、Python

创建一个三维列表,代码如下:

list4 = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
print(list4[0])
print(list4[0][0])
print(list4[0][0][0])
print(list4)

输出: 

  

for python 从第五次开始 python数组第一个_数据结构_06

 

2、Java

创建一个三维数组,代码如下:

int [][][] arr = {{{1, 2}, {3, 4}, {5, 6}}, {{7, 8}, {9, 10}}};
System.out.println(arr[0][0][0]); // 1
System.out.println(arr[0][0][1]); // 2
System.out.println(arr[0][1][0]); // 3
System.out.println(arr[0][1][1]); // 4
System.out.println(arr[0][2][0]); // 5
System.out.println(arr[0][2][1]); // 6
System.out.println(arr[1][0][0]); // 7
System.out.println(arr[1][0][1]); // 8
System.out.println(arr[1][1][0]); // 9
System.out.println(arr[1][1][1]); // 10

输出: 

  

for python 从第五次开始 python数组第一个_for python 从第五次开始_07

四、代码

1、Python

# 一维数组
list1 = ['Google', 'BaiDu', 1997, 2000]
list2 = [1, 2, 3, 4, 5]
print(type(list1[0]), type(list1[2]))
print(list1)

# 二维数组
list3 = [["Mary", "Math"], ["Nick", "Chinese"], ["John", "English"]]
print(list3[0][0])
print(list3[0])
print(list3)

# 三维数组
list4 = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
print(list4[0])
print(list4[0][0])
print(list4[0][0][0])
print(list4)

2、Java

package test;

public class Array {
    public static void main(String[] args){
        // 一维数组
        int [] nums = {1, 2, 3};
        System.out.println(nums[0]);
        System.out.println(nums[1]);
        System.out.println(nums[2]);

        // 二维数组
        String[][] std = {{"Mary", "Math"}, {"Nick", "Chinese"}, {"John", "English"}};
        System.out.println(std[0][0] + ": " + std[0][1]);
        System.out.println(std[1][0] + ": " + std[1][1]);
        System.out.println(std[2][0] + ": " + std[2][1]);

        // 三维数组
        int [][][] arr = {{{1, 2}, {3, 4}, {5, 6}}, {{7, 8}, {9, 10}}};
        System.out.println(arr[0][0][0]); // 1
        System.out.println(arr[0][0][1]); // 2
        System.out.println(arr[0][1][0]); // 3
        System.out.println(arr[0][1][1]); // 4
        System.out.println(arr[0][2][0]); // 5
        System.out.println(arr[0][2][1]); // 6
        System.out.println(arr[1][0][0]); // 7
        System.out.println(arr[1][0][1]); // 8
        System.out.println(arr[1][1][0]); // 9
        System.out.println(arr[1][1][1]); // 10
    }
}