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

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中列表索引 A[ : 2 ]与A[ : , 2]的区别相关的知识,希望对你有一定的参考价值。

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

创建一个列表

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

1

2

3

list1 = ['1937', 'chemistry', 1997, 2000];

list2 = [1, 2, 3, 4, 5 ];

list3 = ["a", "b", "c", "d"];

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

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

1

empty_list = []

访问列表中的值

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

代码如下:

1

2

3

4

5

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]的区别

代码如下:

1

2

3

4

5

6

7

8

9

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]

1

2

3

4

b = [1,2,3,4,5,6]

print(b[:-1])

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

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

[::-1]

1

2

print(b[::-1])

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

倒序输出

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

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

[:,]

1

2

3

4

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位数据

以上是关于Python中列表索引 A[ : 2 ]与A[ : , 2]的区别的主要内容,如果未能解决你的问题,请参考以下文章

python列表与元组

Python学习3:列表与元组

Python3基础 index 全列表查找与指定索引范围查找

python:列表与元组

python 列表

Python3基础 list index 全列表查找与指定索引范围查找