免费视频教程!零基础学Python系列(9) - 数据类型之list

本节我们接着讲list类型:

这个系列教程建议对照着视频学习,以下仅为课件内容。

本节课程的视频和实例源码下载方式:点击->我的主页,查看个人简介。

我尽量坚持每日更新一节。


列表是python中非常常用的一个数据结构,它的语法如下:

[item1, item2, item3, …]

由中括号将所有列表元素括起来,不同的元素之间通过逗号分隔。

 

列表中的元素item,支持几乎所有类型的数据,并且同一个列表中的所有元素可以是不同的数据类型。所以列表使用起来会非常灵活。用过C语言数组结构的同学应该知道,数组结构只能存储同一类型的元素,比如整型数组、字符串数组等等。另外,C语言的数组结构一旦初始化之后,是不能动态扩容的。C语言也可以实现列表功能,但它不是C语言的标准数据类型。相比较起来,Python的数据类型要强大和灵活得多。

 

列表本质上是一种序列,前面我们学习的string字符串本质上也是一种序列,还有下一节的tuple元组也是序列。我们来看看序列都有一些什么样的共性呢?

  1. 序列具备索引,正向索引和反向索引,前面字符串截取时我们学习过。
  2. 序列都支持切片(分割、截取)。
  3. 序列具备一些通用的操作(加、乘、检查成员)

 

通过下来的例子我们演示列表的常用操作:


#  author: Tiger,    wx ID:tiger-python
# file: ./5/5_5.py

"""
演示列表的操作
"""

# list 列表
list_1 = ['hello', 100, ['跟我一起学', 4]]  # 支持不同类型的item,可以嵌套list
list_2 = ['python', '!']

print(list_1[0:2])  # 截取的方式和字符串一致
print(list_1[0:-2])
print(list_1[0: 1])
print(list_1[0])

print(len(list_1))  # 获取列表的长度

# 列表连接
list_3 = list_1 + list_2
print(list_3)

# 使用乘法让列表重复n次
list_4 = list_2 * 3
print(list_4)

# 判断一个元素是否存在于列表中
print('python' in list_2)  # True

# 判断一个元素在列表中出现的次数
print(list_4.count('python'))

# 获取列表中最大最小值,求和
list_5 = [1, 2, 4, 10, 90]
print(max(list_5))
print(min(list_5))
print(sum(list_5))

# 列表的增删改操作
list_5.append(100)  # 在列表尾增加元素100
print(list_5)

list_5.insert(1, 'insert_obj')  # 把元素插入到索引为1的位置
print(list_5)

list_6 = ['hello', 'python']
list_5.extend(list_6)  # 在列表后面追加另外一个列表

list_5[0] = 200  # 将索引为0的元素修改为200
print(list_5)

del list_5[0]  # 删除索引为0的元素
print(list_5)

list_5.pop(2)  # 移除索引为2的元素,如果不填写索引值,则默认移除列表最后一个元素
print(list_5)

list_5.remove('insert_obj')  # 移除一个元素,注意这里指定的是元素的值。如果列表中有多个相同的值,则只移除第一个匹配项
print(list_5)

list_5.clear()  # 清空整个列表
print(list_5)

# 列表的排序操作
list_7 = [100, 99, 27, 198, 3]

list_7.reverse()  # 列表反向排列
print(list_7)

list_7.sort()  # 列表升序排列
print(list_7)

list_7.sort(reverse=True)  # 列表降序排列
print(list_7)

由于同一个列表可以支持不同的元素,所以某些列表操作会有一些限制,大家在使用时需要注意。比如一些数值操作,如sum(list),它就无法支持list中包含字符串的情况,因为字符串没法求和。一个比较特殊的操作,最大值max和最小值min,它们支持字符串的比较,那么它们是按照什么规则来比较大小的呢?我们通过一小段代码测试一下。


#  author: Tiger,    wx ID:tiger-python
# file: ./5/5_6.py

# max\min 如何比较字符串列表
list_1 = ['a', 'b', 'cat', '跟我一起学python']

print(ord('a'), ord('b'), ord('c'), ord('跟'))

print(max(list_1))
print(min(list_1))

可以看出,对于字符串列表,是按照元素的首字符对应的ASCII编码值来比较大小的(参考字符编码章节)。如果同一个列表中混杂了数字和字符串,则无法比较,会抛出异常。

 

列表是python中用得最多的标准数据类型,后面我们在讲循环语句时还会介绍如果对列表进行迭代操作。大家应该对列表操作勤加练习,熟能生巧。

好了,下节我们继续学习python的其它数据类型。


本节课程的视频和实例源码下载方式:点击->我的主页,查看个人简介。

我尽量坚持每日更新一节。

猜你喜欢

转载自blog.csdn.net/j00105840/article/details/105966741