4.2.1 列表的创建和删除
1. 使用赋值运算符直接创建列表
同其他类型的变量一样,创建列表时,也可以使用赋值运算符直接将一个列表赋值给变量,语法格式如下:
listname = [element1, element2 , element3,...,elementn]
例如:
2. 创建空列表
3. 创建数值列表
在Python中,可以使用list()函数直接将range()函数循环出来的结果转换为列表。
list() 函数的语法格式如下:
list(data)
例如:
4. 删除列表
对于已经创建的列表,不再使用时,可以使用del语句将其删除。语法格式如下:
del listname
del语句在实际开发时,并不常用。因为python自带的垃圾回收机制会自动销毁不用的列表,所有即使我们不手动将其删除,Python也会自动将其回收。
4.2.2 访问列表元素
输出全部列表的元素时,会包括左右两侧的中括号,输出单个列表元素时,不包括中括号,如果是字符串,还不包括左右的引号。
4.2.3 遍历列表
1. 直接使用for循环实现
2. 使用for循环和enumerate()函数实现
4.2.4 添加、修改和删除列表元素
1. 添加元素
append()方法用于在列表的末尾追加元素。语法格式如下:
listname.append(obj)
列表除了提供append()方法可以向列表中添加元素,还提供了insert()方法也可以向列表中添加元素。该方法用于在指定位置插入元素。但由于该方法的执行效率没有append()高,所以不推荐这种方法。
如果想将一个列表的全部元素添加到另一个列表中,可以使用列表对象的extend()方法实现。
2. 修改元素
修改列表中的元素只需要通过索引获取该元素,然后再为其重新赋值即可。
3. 删除元素
删除元素主要有两种情况,一种是根据索引值删除,另一种是根据元素值进行删除。
如果想要删除一个不确定其位置的元素(即根据元素值删除),可以使用列表对象的remove()方法实现,在使用前,最好判断元素是否在列表中,否则remove()会报错。
4.2.5 对列表进行统计和计算
1. 获取指定元素出现的次数
listname.count(obj)
2. 获取指定元素首次出现的下标
listname.index(obj)
3. 统计数值列表的元素和
sum(iterable,start])
iterable:表示要统计的列表
start:表示统计结果从哪个数开始(即将统计结果加上start所指定的数),是可选参数,默认值0。
4.2.6 对列表进行排序
1. 使用列表对象的sort()方法
列表对象提供了sort()方法用于对原列表中的元素进行排序。排序后的原列表中的元素顺序将发生改变。
listname.sort(key=None,reverse=False)
listname:表示要进行排序的列表
key:用于指定排序规则(例如:设置“key=str.lower"表示在排序时不区分字母大小写)
reverse:可选参数,如果将其值指定为True,则表示降序排序;如果为False,则表示升序排序,默认 为升序排序。
使用sort()方法进行数值列表的排序比较简单,但是使用sort()方法对字符串列表进行排序时,采用的规则是先对大写字母排序,然后再对小写字母排序。如果想对字符串列表进行排序(不区分大小写时),需要指定key参数。
2. 使用内置的sorted()函数
在Python中,提供了一个内置的sorted()函数,用于对列表进行排序。使用该函数进行排序后,原列表的元素顺序不变。
sorted(iterable,key=None,reverse=False)
参数说明同sort()函数。
4.2.7 列表推导式
1. 生成指定范围的数值列表,语法格式如下:
list = [ Expression for var in range ]
2. 根据列表生成指定需求的列表,语法格式如下:
newlist = [ Expression for val in list ]
3. 从列表中选择符合条件的元素组成新的列表,语法格式如下:
newlist = [ Expression for var in list if condition ]
4.2.8 二维列表的使用
1. 直接定义二维列表
在Python 中,二维列表是包含列表的列表,即一个列表的每一个元素又都是一个列表。语法格式如下:
listname = [ [元素11,元素12,元素13,...,元素1n ], [ 元素21, 元素22,元素23,...,元素2n ],
...,
[ 元素n1, 元素n2, 元素n3,..., 元素nn ] ]
2. 使用嵌套的for循环创建
3. 使用列表推导式创建