欢迎光临
我们一直在努力

Python3的list类型

基本数据类型是其它语言都必有的数据类型,但 list
数据类型在其它语言中并不一定是内置的数据类型,比如 c++ 语言,c++ 里面的 list 可以是第三方的 stl 库提供的,
也可以是程序员自己创造的一种数据类型,但是 Python 解释器内置 list 数据类型。

list 是 Python 内置的一种数据类型,list 是一种有序的集合,有序集合并不是集合里面的数据是有序的,
有序集合的意思是可以通过下标访问的集合,有序集合的概念我们在上一小节提到,在此重述一遍。

list 定义

因为 python 是动态语言,定义一个 list
变量不需要显式的定义 list,list定义是用 [] 或者 list([]),我们以后习惯于直接用
[],因为书写简单易懂,[] 里面的数据是 list 的成员。

ugly_list = ["ruhua", "xingxing", "konglong"]
print(ugly_list)

当然,如果 [] 里面可以不放入数据,也是一个 list,是一个空的 list。注意,空 list 是假值。

beauty_list = []
print(beauty_list)

if not beauty_list:
    print("beauty_list 是假值")

可以通过下标来访问 list 中的成员,索引是从 0 开始的,list 是变量,我们可以通过下标修改 list 成员的值。

ugly_list = ["ruhua", "xingxing", "konglong"]
print(ugly_list[0])           # 通过下标访问成员

ugly_list[1] = "zhaoritian"   # 通过下标修改成员
print(ugly_list)

操作 list 常用的函数

上节我们知道 len 函数是 Python 内置的函数,并且可以用于获取字符串长度,同样 len 函数可以获得 list
的长度。

ugly_list = ["ruhua", "xingxing", "konglong"]
print(len(ugly_list))

可以通过 list 的 index 函数获取成员所在的下标,
如果指定 start 和 stop 范围,则在指定范围(左闭右开)内查找,
如果该成员不存在,则 Python 解释器抛出异常。

ugly_list = ["ruhua", "xingxing", "konglong"]
print(ugly_list.index("xingxing"))        # 返回下标 1
print(ugly_list.index("zhaoritian"))      # 抛出异常
print(ugly_list.index("konglong", 0, 2))  # 抛出异常,因为范围在[0,2)

我们知道通过下标可以访问和修改成员的值但无法添加值,
我们可以通过 list 的 insert 函数,插入元素到 list 中的某个位置。

ugly_list = ["ruhua", "xingxing", "konglong"]
ugly_list.insert(1, "zhaoritian")
print(ugly_list)
运行结果:['ruhua', 'zhaoritian', 'xingxing', 'konglong']

可以用 list 的 pop 函数,删除所指定的索引的成员,如果索引不存在(越界),则 Python 解释器抛出异常,
remove 函数可以删除指定的成员,如果该成员不存,则 Python 解释器抛出异常。

# pop 函数
ugly_list = ["ruhua", "xingxing", "konglong"]
ugly_list.pop(1)   # ok
print(ugly_list)
运行结果:['ruhua', 'konglong']
ugly_list.pop(10)  # 抛出异常,因为索引越界
print(ugly_list)
运行结果:IndexError: pop index out of range

# remove 函数
ugly_list = ["ruhua", "xingxing", "konglong"]
ugly_list.remove("xingxing")    # ok
print(ugly_list)
运行结果:['ruhua', 'konglong']
ugly_list.remove("zhaoritian")  # 抛出异常,因为成员不存在
print(ugly_list)
运行结果:ValueError: list.remove(x): x not in list

list 成员的本质

list 中的成员可以是任何类型,成员的数据类型也可以不同,
空 list 用 [] 表示,我们前面讲过 [] 是假值,但是 [] 不是 False 也不是
None,更不是 0 或 “”,因为数据类型不同。

mylist = ["Hello", 250, [1, 2, 3]]
print(mylist)
otherlist = []
print(otherlist == False)  # False
print(not otherlist)       # True

list 中的成员用逗号隔开,每个成员无论数据类型多么复杂,也只是一个成员。

mylist = ["Hello", 250, [1, 2, 3]]
len_mylist = len(mylist)
print(len_mylist)    # 结果为 3

print(mylist[0])     # "Hello"
print(mylist[2])     # [1, 2, 3]
mylist[2][1] = 5     # 正确,[1, 2, 3] 是变量,里面的成员可以修改
mylist[0][1] = "F"   # 错误,"Hello" 是常量,里面的成员不可修改

本节重要知识点

熟练运用操作 list 的函数。

弄明白 list 数据成员的本质。

赞(0) 打赏
未经允许不得转载:码农资源网 » Python3的list类型
分享到

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册