友情提示:本文共有 1658 个字,阅读大概需要 4 分钟。
本次课程继续讲解Python数据类型之列表。
列表(List)是一种有序的集合,用中括号“[]”表示,列表中的数据被称作“元素(Element)”,每个元素之间都用逗号隔开。列表中元素的数据类型可以不固定,如下图:
图1
上图中,我们创建了一个名为list1的变量,注意:因为list在Python中是保留字,不能作为变量名!然后将6个元素作为列表赋值给list1。通过type()我们看到这6个元素的数据类型都不一样,列表的索引号从0开始,即对应列表中的第一个元素。各元素的数据类型已经标出。
补充说一下,列表本身也可以作为元素存在于另一个列表中,如上图中索引号为5的最后一个元素是列表[1,2,3]。我们可以通过使用两次索引的方法来单独调取列表[1,2,3]中的元素,如下图:
图2
与列表相关的方法和函数
1.range()
(1)range()函数用来创建一个整数列表,返回值为列表类型,如果想要返回具体的内容,需要对其使用list()函数。
(2)range()函数创建的整数列表是从0开始,因此range(10)返回的是整数0-9的列表,不包括10;
(3)range()函数中可以指定起始数和结尾数,返回的整数列表中,最后一个元素为指定的结尾数-1,因此range(11,20)返回的是整数11-19的列表,不包括20;
(4)range()函数可以通过指定“步长”来得到整数列表,例如想从整数1-19中选择所有的单数,可以用range(1,20,2)实现,这里的2就是步长。
如下图:
图3
注意:range()函数在python2和python3中是有很大的区别,我用linux操作系统中的两个版本做以下演示:
在Python2中,range()函数返回值类型为列表,但数据是明细;
在Python3中,返回值不再是列表,看图3,而是class ‘range’,即range的迭代值对象,这样的好处在于,如果使用range (10000000000000000)来建立巨大的列表,在Python2中列出明细的话,占用的内存会非常大,因此Python3改成迭代对象,目的是节省内存。
如下图:
图4
2.append()
使用append()向列表中添加元素。首先建立一个空列表,interface = [],并赋值给interface变量,然后使用append()方法将端口G1/1和G2/1加入该列表。如下图:
图5
3.len()
对列表使用len()方法,是用来统计列表中总共有多少个元素,与字符串相类似,返回值为整数。如下图:
图6
4.count()
对列表使用count()方法,是用来统计指定元素在列表中的数量,返回值为整数。如下图:
图7
5.insert()
列表是有序的集合,前文中append()方法是将新的元素添加到列表的队尾,如果想在任意位置插入新元素,则使用insert()方法。
例如我们做路由器的基本配置,正常配置顺序如下:
system-view
sysname Router-1
interface gi0/0
ip address 192.168.1.1 255.255.255.0
undo shutdown
使用以下列表:
图8
发现我们少了一条“sysname Router-1”的命令,我们需要将该命令加到第2个元素,注意是索引号为1的元素之前,使用如下命令插入:
init_conf.insert (0 , ‘sysname Router-1’)
结果如下图:
图9
6.pop()
用来移除列表中的元素,如果不指定索引号,则pop()默认移除队尾的元素;如果指定索引号,则可以精确移除指定的元素,如下图:
图10
7.index()
用来查看元素的索引号,这在元素很多的列表中是十分好用的哦,如下图:
图11
以上就是本次课程,下次继续基本语法的字典部分。
----------------------------------------------------------------
我是CCIE_佟老板,一个让你沉溺于网络学习世界的好伙伴。
本文如果对你有帮助,请点赞收藏《网络运维Python课程.第5讲——基本语法(4)列表》,同时在此感谢原作者。