python 列表中[ ]中冒号‘:’的作用

yipeiwu_com6年前Python基础

中括号[ ]:用于定义列表或引用列表、数组、字符串及元组中元素位置

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]

冒号: 用于定义分片、步长。

a[ : n]表示从第0个元素到第n个元素(不包括n),a[1: ] 表示该列表中的第1个元素到最后一个元素。

list1[:3:2],tul1[3:6:2](注意3:6是索引第3至5,不包含6)

L[2] 读取列表中第三个元素,也即第2个元素

L[-2] 读取列表中倒数第二个元素

L[1:] 从第二个元素开始截取列表

list1 = [1,2,3,4,5]
print list1
print list1[:-1]

输出结果:

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

python 创建二维列表

list_2d = [[0 for col in range(cols)] for row in range(rows)]

实例:

>>> list_2d = [ [0 for i in range(5)] for i in range(4)]
>>> list_2d[0].append(3)
>>> list_2d[0].append(5)
>>> list_2d[2].append(7)
>>> list_2d

结果为[[0, 0, 0, 0, 0, 3, 5], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0]]

列表里 a 与 a[:] 不同。

通过函数 id() 来查看:

a = [1, 2, 3]

id(a)

id(a[:])

会发现得到的两个值不同。

或者直接运行:

a is a[:]

返回值将是:False。

简单来说,a[:] 是创建 a 的一个副本,这样在代码中对 a[:] 进行操作,就不会改变 a 的值。而若直接对 a 进行操作,那么 a 的值会受到操作的影响,如 append() 等。

range() 函数可创建一个整数列表,一般用在 for 循环中。

函数语法

range(start, stop[, step])

参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

倒序

>>> range(100,19,-5)
结果:[100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20]

xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器

总结

以上所述是小编给大家介绍的python 列表中[ ]中冒号‘:'的作用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python实现LBP方法提取图像纹理特征实现分类的步骤

python实现LBP方法提取图像纹理特征实现分类的步骤

题目描述 这篇博文是数字图像处理的大作业. 题目描述:给定40张不同风格的纹理图片,大小为512*512,要求将每张图片分为大小相同的9块,利用其中的5块作为训练集,剩余的4块作为测...

Pytorch中accuracy和loss的计算知识点总结

这几天关于accuracy和loss的计算有一些疑惑,原来是自己还没有弄清楚。 给出实例 def train(train_loader, model, criteon, optimi...

django之使用celery-把耗时程序放到celery里面执行的方法

1 在虚拟环境创建项目test和应用booktest(过程省略),然后安装所需的包 pip install celery==3.1.25 pip install celery-wit...

pytorch查看torch.Tensor和model是否在CUDA上的实例

pytorch查看torch.Tensor和model是否在CUDA上的实例

今天训练faster R-CNN时,发现之前跑的很好的程序(是指在运行程序过程中,显卡利用率能够一直维持在70%以上),今天看的时候,显卡利用率很低,所以在想是不是我的训练数据torch...

简单学习Python多进程Multiprocessing

简单学习Python多进程Multiprocessing

1.1 什么是 Multiprocessing 多线程在同一时间只能处理一个任务。 可把任务平均分配给每个核,而每个核具有自己的运算空间。 1.2 添加进程 Process 与线程类似,...