Python自然语言处理(微课版)
上QQ阅读APP看书,第一时间看更新

3.7.2 操作

下面介绍列表操作。

1.创建列表

使用“=”将一个列表赋值给变量。

     >>>a_list=['a', 'b', 'c']

2.读取元素

(1)读取某个元素:用列表名加元素序号。

序列中的每个元素被分配一个序号,即元素的位置,也称为索引。从左至右依次是0,…,n,从右向左计数来存取元素称为负数索引,依次是-1,-2,…,-n。li[-n]==li[len(list)-n]。

例3-9】 列表索引。

注意:Python从0开始计数。

(2)读取若干元素。

序列切片是指使用序列序号截取其中的任何部分从而得到新的序列。切片操作符是在[]内提供一对可选数字,用“:”分隔。冒号前的数字表示切片的开始位置,冒号后的数字表示切片截止(但不包含)位置。

注意:数字可选,冒号必需,开始位置包含在切片中,不包括结束位置。

例3-10】 列表切片。

3.修改元素

只需直接给元素赋值。

4.添加元素

列表添加元素有“+”、append()、extend()和insert()方法。

方法1:使用“+”将一个新列表附加在原列表的尾部。

方法2:使用append()方法向列表尾部添加一个新元素。

方法3:使用extend()方法将一个列表添加在原列表的尾部。

方法4:使用insert()方法将一个元素插入列表的任意位置。

例3-11】 比较“+”和append()两种方法。

程序运行结果如下。

     +操作执行10000次,用时0.2020115852355957
     append操作执行10000次,用时0.0009999275207519531

例3-12】 比较insert()和append()两种方法。

程序运行结果如下。

     Insert: 0.578000068665
     Append: 0.0309998989105

5.删除元素

列表删除元素有del、remove()和pop()方法。

方法1:使用del语句删除某个特定位置的元素。

方法2:使用remove()方法删除某个特定值的元素。

例3-13】 比较两组代码。

同样的代码,仅仅是处理的列表数据不同,结果不同。两组数据的区别在于有没有连续的“1”。由于列表的自动内存管理功能,删除列表元素,Python会自动对列表内存进行收缩并移动列表元素,以保证所有元素之间没有空值。增加列表元素时也会自动扩展内存并对元素进行移动,以保证元素之间没有空值。每当插入或删除一个元素之后,该元素位置后面所有元素的索引都会改变。

为此,修改正确的代码如下。

方法3:使用pop()方法弹出指定位置的元素,省略参数时弹出最后一个元素。

6.得到列表中指定元素的下标

列表方法如表3-13所示。

表3-13 列表方法