《中职电子与信息:《yhon小屋》2-1-1 列表创建与删除.docx》由会员分享,可在线阅读,更多相关《中职电子与信息:《yhon小屋》2-1-1 列表创建与删除.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(Python小屋之二Python序列列表2.1.1 列表创建与删除Python序列类似于C或Basic中的一维、多维数组等,但功能要强大很多,使用也更加 灵活、方便,Head First Python一书就戏称列表是“打了激素”的数组。Python中常用的序列结构有列表、元组、字典、字符串、集合等,大部分可迭代对象也 支持类似于序列的用法。列表、元组、字符串等序列类型以及range对象均支持双向索引, 第一个元素下标为0,第二个元素下标为1,以此类推。可以使用负数作为索引,则最后一 个元素下标为-1,倒数第二个元素下标为-2,以此类推。可以使用负整数作为索引是Python 序列的一大特色,熟
2、练掌握和运用它可以大幅度提高开发效率。序列分类:(1)有序序列:列表、元组、字符串、(range、zip、map enumerate等)(2)无序序列:字典、集合(3)可变序列:列表、字典、集合(4)不可变序列:元组、字符串、(range、zip map、enumerate等)使用“一直接将一个列表赋值给变量即可创建列表对象,例如:1 aJist = a7bYmpilgrim/z,example2 ajist = #创建空列表代码块也可以使用list。函数将元组、range对象、字符串、字典集合或其他类型的可迭代对象 类型的数据转换为列表。需要注意的是,把字典转换为列表时默认是将字典的“键”转
3、换为 列表,而不是把字典元素转换为列表,如果想把字典的元素转换为列表,需要使用字典对象 的item()方法明确说明。例如:#将元组转换为列表#将range对象转换为列#将字符串转换为列表#将集合转换为列表1 ajist = list(3,5,7,9)2 ajist3 3, 5, 7, 94 5 list(range(l,20/2)表6 1, 3, 5, 7, 9, 11, 13, 15, 17, 1978 list(hello world)9 h, e; T, T, o,w; o; r, T, d10 11 list(3,7,5)12 3, 5,刀13 14 list(a:3b:9c:78)1
4、5 cJaJb16 17 list(a:3b:9c:78.values()18 78, 3, 919 20 list(a:3b:9/c:78.items() 列表21 (c 78), (a, 3), (b, 9)22 23 x = list()24 12 3, 5,刀13 14 list(a:3b:9c:78)15 cJaJb16 17 list(a:3b:9c:78.values()18 78, 3, 919 20 list(a:3b:9/c:78.items() 列表21 (c 78), (a, 3), (b, 9)25 26 x = list()27 #将字典的“键”转换为列表#将字典的
5、“值”转换为列表#将字典的“键:值”对转换为#创建空列表在Python社区中,习惯把list。还有后面很快就会学到的tuple。、set() diet。这样的函 数称为“工厂函数”,因为这些函数可以生成新的数据类型。创建列表之后,可以使用整数作为下标来访问其中的元素,其中0表示第一个元素,1 表示第2个元素,2表示第3个元素,以此类推;列表还支持使用负整数作为下标,其中;表示左后1个元素,-2表示倒数第2个元素,以此类推,如下所示:1 x = list(range(10)2 import random3 random.shuffle(x)4 x5 7, 8, 3, 2, 9, 4, 6, 0,
6、1, 56 7 x0879 xl10 811 12 x-l13 514 #创建列表#把列表中的元素顺序打乱#访问第1个元素#访问第2个元素#访问最后一个元素代码块正向索引 017,8,反向索引 -10-92343, 2,9, 4,6,-8-7-6-5567890,1,5-4-3-2-1当一个列表不再使用时,可以使用del命令将其删除,这一点适用于所有类型的Python对象。另外,也可以使用del命令删除列表、字典等可变序列中的部分元素,而不能删除元 组、字符串等不可变序列中的部分元素。例如:lx = 1,2,323 del xl#删除列表中指定位置的元素,即索引为1的第2个元素4 x5 1,
7、36 7 del x#删除列表对象8 x9 Traceback (most recent call last):10 File / line 1, in 11 x12 NameError: name x is not defined13 14 15 x = ,a:3b:6c:9#删除字典中部分元素#创建元组对象#不允许删除元组中的元素16 17 del xa18 x19 b: 6Jc: 920 21 22 x = (1,2,3)23 del x024 Traceback (most recent call last):25 File / line 1, in 26 del x0#不允许删除元组
8、中的元素27 TypeError: tuple object doesnt support item deletion28 29 30 x0 = 4#也不能修改元组中的值,要不怎么叫不可变序列呢31 Traceback (most recent call last):32 File , line 1, in 33 x0 = 434 TypeError: tuple object does not support item assignment35 代码块拓展知识:垃圾回收机制。一般来说,使用del删除对象之后Python会在恰当的时候调用垃圾回 收机制来释放内存,我们也可以在必要的时候导入Python标准库gc之后调用gc.collect。函 数立刻启动垃圾回收机制来释放内存。