栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

儿童python教程59:Python list列表详解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

儿童python教程59:Python list列表详解

在实际开发中,经常需要将一些(不只一个)数据暂储起来,以便将来使用。说到这里,一些读者可能知道或听说过数组,它就可以把多个数据挨个存储到一起,通过数组下标可以访问数组中的各个元素。但使用数组存储数据有一个弊端,就是所存储的数据必须类型一致。

需要明确的是,Python 中没有数组,但是加入了更加强大的列表。如果把数组看做是一个集装箱,那么 Python 的列表就是一个工厂的仓库。

从形式上看,列表会将所有元素都放在一对中括号 [] 中,相邻元素之间用逗号分隔,如下所示:

[element1,element2,element3,...,elementn]

格式中,element1~elementn 表示列表中的元素,个数没有限制,只要是 Python 支持的数据类型就可以。

从内容上看,列表可以存储整数、实数、字符串、列表、元组等任何类型的数据,并且和数组不同的是,在同一个列表中元素的类型也可以不同。比如说:

["www.pxcodes.com" , 1 , [2,3,4] , 3.0]

可以看到,列表中同时包含字符串、整数、列表、浮点数这些数据类型。

注意,在使用列表时,虽然可以将不同类型的数据放入到同一个列表中,但通常情况下不这么做,同一列表中只放入同一类型的数据,这样可以提高程序的可读性。


另外,在其它 Python 教程中,经常用 list 代指列表,这是因为列表的数据类型就是 list,通过 type() 函数就可以知道,例如:

>>> type(["www.pxcodes.com" , 1 , [2,3,4] , 3.0])

可以看到,它的数据类型为 list,就表示它是一个列表。 Python创建列表 在 Python 中,创建列表的方法可分为 2 种,下面分别进行介绍。 使用 = 运算符直接创建列表 和其他类型的 Python 变量一样,创建列表时,也可以使用赋值运算符“=”直接将一个列表赋值给变量,其语法格式如下:

listname = [element1 , element2 , element3 , ... , elementn]

其中,listname 表示列表的名称,注意,在命名时既要符合 Python 命名规范,也要尽量避开与 Python 的内置函数重名。

例如,下面定义的列表都是合法的:

num = [1,2,3,4,5,6,7]

name = ["C语言中文网","http://www.pxcodes.com"]

program = ["C语言","Python","Java"]

另外,使用此方式创建列表时,列表中元素可以有多个,也可以一个都没有,例如:

emptylist = []

这表明,emptylist 是一个空列表。 使用list()函数创建列表 除使用前面介绍的方括号语法创建列表之外,Python 还提供了一个内置的 list() 函数来创建列表,它可用于将元组、区间(range)等对象转换为列表,例如:

a_tuple = ('crazyit', 20, -1.2)

# 将元组转换成列表

a_list = list(a_tuple)

print(a_list)
输出结果为:

['crazyit', 20, -1.2]

此程序的功能是将一个元组 ('crazyit', 20, -1.2) 转换成列表。由于尚未学习元组,因此初学者只需要知道,用圆括号 () 括起来的多个数据,就是一个元组。

再举个例子:

# 使用range()函数创建区间(range)对象

a_range = range(1, 5)

# 将区间转换成列表

b_list = list(a_range)

print(b_list)
输出结果为:

[1, 2, 3, 4]

程序中,range(1,5) 函数的功能是生成从 1(包括 1)到 5(不包括 5)之间的整数,也就是 1、2、3、4。

有关 range() 函数的具体用法,后续章节会作详细介绍。

访问列表元素 在 Python 中,如果想将列表的内容输出也比较简单,直接使用 print() 函数即可。例如,前面已经创建了一个名为 name 的列表,输出此列表的执行代码如下:

name = ["C语言中文网","http://www.pxcodes.com"]

print(name)
运行结果为:

['C语言中文网', 'http://www.pxcodes.com']

可以看到,输出整个列表时,是包括左右两侧的中括号的。

如果不想要输出全部的元素,可以通过列表的索引获取指定的元素。例如,获取 name 列表中索引值为 1 的元素,可以使用如下代码:

name = ["C语言中文网","http://www.pxcodes.com"]

print(name[1])
运行结果为:

http://www.pxcodes.com

从执行结果可以看出,在输出单个列表元素时,是不带中括号的,且如果是字符串,还不包括左右的引号。

除了一次性访问列表中的单个元素外,列表还可以通过切片操作实现一次性访问多个元素。

有关切片操作的具体格式,可阅读《Python序列详解》一节,这里不再赘述。


例如:

num = [1,2,3,4,5,6,7]

print(num[2:4])
输出结果为:

[3, 4]

可以看到,通过切片操作,**终得到的是一个新的列表。 Python删除列表 对于已经创建的列表,如果不再使用,可以使用 del 语句将其删除。

实际开始时,del 语句不常用,因为 Python 自带的垃圾回收机制会自动销毁不用的列表,所以即使开发者不手动将其删除,Python 也会自动将其回收。


del 的语法格式为:

del listname

其中,listname 表示要删除列表的名称。

例如,删除前面创建的 name 列表,可以使用下面的代码:

name = name = ["C语言中文网","http://www.pxcodes.com"]

print(name)

del name

print(name)
运行结果为:

['C语言中文网', 'http://www.pxcodes.com']
Traceback (most recent call last):
  File "C:UsersmengmaDesktop1.py", line 4, in
    print(name)
NameError: name 'name' is not defined


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/806020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号