Python中列表索引 A[ : 2 ]与A[ : , 2]的区别说明

Python中列表索引 A[ : 2 ]与A[ : , 2]的区别说明

列表索引 A[ : 2 ]与A[ : , 2]区别

Python内置的一种数据类型是列表:list 。list是一种有序的集合,也就是说,list中的元素是按照顺序排列的。可以随时添加和删除其中的元素。它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

创建一个列表

构造list非常简单,按照上面的代码,直接用 [ ]把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个变量,这样,就可以通过变量来引用list:代码如下:

list1 = ["1937", "chemistry", 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

注:列表中的数据项可以是不同的数据类型

一个元素也没有的list,就是空list:

empty_list = []

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

代码如下:

list1 = ["physics", "chemistry", 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
 
print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])

输出结果:

>>> list1[0]:  physics
>>> list2[1:5]:  [2, 3, 4, 5]

注意:索引超出了范围会报错

A[ : 2 ]与A[ : , 2]的区别

代码如下:

import numpy as np
A=[[ 1,  2,  3,  4,  5],
   [ 6,  7,  8,  9, 10],
   [11, 12, 13, 14, 15],
   [16, 17, 18, 19, 20]]
 
A = np.array(A)
print("A[: 2]:", A[: 2])
print("A[:,2]:", A[:,2])

输出结果:

>>> A[: 2]: [[ 1  2  3  4  5]
            [ 6  7  8  9 10]]
>>> A[:,2]: [ 3  8 13 18]

  • A[ : 2]:表示索引 0至1行;
  • A[ :, 2]:表示所有行的第3列。

python中[::]的含义

:是取值范围,‘,’用来分割维度

需要注意的是list定义的二维数组不能用此方法取数值

最好使用nump定义的array类型

[:-1]

b = [1,2,3,4,5,6]
print(b[:-1])

out:[1, 2, 3, 4, 5]

简而言之就是裁减掉最后一位

[::-1]

print(b[::-1])
out: [6, 5, 4, 3, 2, 1]

倒序输出

如果是[::2]的话,则是以步长2一次取数据

因此这个语句的意思就是以多少步长取数据,-1就是倒序取数

[:,]

import numpy as np
b = np.array([[1,2,3,4,5],[6,7,8,9,10]])
print(b[:,0])
out:[1 6]

第一个:,代表第一个维度,第二个0表示取第二维的所有0位数据

以上为个人经验,希望能给大家一个参考,也希望大家多多支持云海天教程。

原文地址:https://blog.csdn.net/liuyhoo/article/details/80789715