对于 Python 来说,序列是最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。Python的元组与列表类似,不同之处在于元组的元素不能修改。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
对于 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 可看出每个元素的类型
输出元素“Google”和“1997”的类型,发现和debug的一样。
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]);
输出:
二、二维数组的初始化
1、Python
不同于一维数组的是,一维数组只需要一组中括号[]即可,二维数组需要两组中括号[]。
二维数组可看作为多个一维数组组合成的数组。
因此 list3[0] 为第一个一维数组 ["Mary", "Math"]
代码如下:
# 二维数组
list3 = [["Mary", "Math"], ["Nick", "Chinese"], ["John", "English"]]
print(list3[0][0])
print(list3[0])
print(list3)
输出:
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]);
输出:
三、三维数组的初始化
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)
输出:
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
输出:
四、代码
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
}
}