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时间的精准正则匹配方法分析

本文实例讲述了Python时间的精准正则匹配方法。分享给大家供大家参考,具体如下: 要用正则表达式精准匹配时间,其实并不容易 方式一: >>> import re...

PyCharm搭建Spark开发环境的实现步骤

PyCharm搭建Spark开发环境的实现步骤

1.安装好JDK 下载并安装好jdk-12.0.1_windows-x64_bin.exe,配置环境变量: 新建系统变量JAVA_HOME,值为Java安装路径 新建系统变量...

安装dbus-python的简要教程

写一个 python 脚本需要用到 dbus,但因为 dbus-python 这个包并没有提供 setup.py , 所以无法通过 pip 直接安装,唯有下载源码手动编译安装一途了。...

pyqt5 QProgressBar清空进度条的实例

在停止和开始进度条的同时,将进度条清空的动作也是常常需要用到的。 具体用法如下: self.progressBar = QProgressBar(self) self.progres...

DRF跨域后端解决之django-cors-headers的使用

在使用django-rest-framework开发项目的时候我们总是避免不了跨域的问题,因为现在大多数的项目都是前后端分离,前后端项目部署在不同的web服务器上,因为我们是后端程序员,...