VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • Python 列表数据类型(list)[学习 Python 必备基础知识][看此一篇就够了]

您的“关注”和“点赞”,是信任,是认可,是支持,是动力......

如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。

在这里插入图片描述

 

目录
  • 1 Python 列表数据类型概述
  • 2 Python 创建列表
    • 2.1 使用 [] 直接创建列表
    • 2.2 使用 list() 函数创建列表
  • 3 访问列表元素
    • 3.1 使用索引访问列表元素
    • 3.2 使用切片访问列表元素
  • 4 Python删除列表
  • 5 列表基本操作(增删改查)
    • 5.1 增(添加列表元素)
      • 5.1.1 Python append() 方法添加元素
      • 5.1.2 Python extend() 方法添加元素
      • 5.1.3 Python insert() 方法插入元素
      • 5.1.4 其他方法(使用 + 加法运算符)
    • 5.2 删(删除列表元素)
      • 5.2.1 根据目标元素所在位置的索引进行删除
      • 5.2.2 根据元素本身的值进行删除
      • 5.2.3 删除列表中的所有元素
    • 5.3 改(修改列表元素)
      • 5.3.1 修改单个元素
      • 5.3.2 修改一组元素
    • 5.4 查(查找列表元素)
      • 5.4.1 使用列表提供的index() 方法查找元素
      • 5.4.2 使用列表提供的count()方法查找元素
  • 6 列表排序
    • 6.1 使用列表提供的 sort() 方法排序
    • 6.2 使用 sorted() 内置函数排序
  • 7 文章其他地址
    • 7.1 微信公众号:码农阿杰
    • 7.2 CSDN 博客
  • 8 参考资料
    • 8.1 Python 3.8.2 documentation

 

1 Python 列表数据类型概述

列表是可变序列,通常用于存放同类项目的集合(其中精确的相似程度将根据应用而变化)。

列表数据类型,在 Python 中用list表示,可以用type()函数查看。如下所示:

list_demo = ["www.python.org", '码农阿杰', 100.1, [1, 2, 3, 4]]  # 创建列表,并赋值给变量 list_demo
print(type(list_demo))

运行结果:

<class 'list'>

列表将所有元素都放在一对中括号[ ]里面,相邻元素之间用逗号,分隔,element1 ~ elementn 表示列表中的元素,个数没有限制,只要是 Python 支持的数据类型就可以。

列表可以存储整数、小数(浮点数)、布尔值、复数、字符串、列表、元组等任何类型的数据,并且同一个列表中元素的类型也可以不同。

注意事项:为了提高程序的可读性,不建议将不同类型的数据放入到同一个列表中。

如下所示:

[element1, element2, element3, ..., elementn]
["www.python.org", '码农阿杰', 100.1, [1, 2, 3, 4]]

2 Python 创建列表

2.1 使用 [] 直接创建列表

格式如下:

listname = [element1 , element2 , element3 , ... , elementn]  # 包含多个元素的列表
emptylist = []  # 一个元素都没有的列表,称为空列表

对以上格式说明:

  • listname :变量名。创建完列表后,通常会把列表赋值给一个变量,便于调用列表。
  • element1 ~ elementn: 表示列表的元素。

使用 [] 直接创建列表举例,如下所示:

list_demo1 = ['微信公众号:', '码农阿杰']
list_demo2 = ['博客园', 'https://www.cnblogs.com/manongajie/']
list_demo3 = ['CSDN 博客', 'https://blog.csdn.net/manongajie']
list_demo4 = ['邮箱', 'manongajie@163.com']
list_demo5 = [7, 4, 5, 9, 9, 1, 7, 4, 1]  # QQ
list_demo6 = []  # 空列表

2.2 使用 list() 函数创建列表

使用 list() 内置函数创建列表,其实就是将其它数据类型转换为列表类型。举例如下所示:

# 将字符串转换成列表
list_demo1 = list('码农阿杰')
print(list_demo1)

# 将元组转换成列表
tuple_demo1 = ('python', 'java', 'php', 'c')
list_demo2 = list(tuple_demo1)
print(list_demo2)

# 创建空列表
list_demo3 = list()
print(list_demo3)

运行结果:

['码', '农', '阿', '杰']
['python', 'java', 'php', 'c']
[]

3 访问列表元素

3.1 使用索引访问列表元素

格式如下所示:

listname[index]

对以上格式说明,

  • listname:表示列表名字。
  • index:表示索引值。Python 支持正索引和负索引。

举例如下所示:

list_demo4 = ['微信公众号:码农阿杰', '博客园 https://www.cnblogs.com/manongajie/', 'CSDN 博客 https://blog.csdn.net/manongajie']

print('list_demo4[0] =', list_demo4[0])
print('list_demo4[1] =', list_demo4[1])
print('list_demo4[2] =', list_demo4[2])
print('list_demo4[-1] =', list_demo4[-1])
print('list_demo4[-2] =', list_demo4[-2])
print('list_demo4[-3] =', list_demo4[-3])

运行结果:

list_demo4[0] = 微信公众号:码农阿杰
list_demo4[1] = 博客园 https://www.cnblogs.com/manongajie/
list_demo4[2] = CSDN 博客 https://blog.csdn.net/manongajie
list_demo4[-1] = CSDN 博客 https://blog.csdn.net/manongajie
list_demo4[-2] = 博客园 https://www.cnblogs.com/manongajie/
list_demo4[-3] = 微信公众号:码农阿杰

3.2 使用切片访问列表元素

格式如下所示:

listname[start: end: step]

对以上格式说明,

  • lsitname:表示列表名字。
  • start:表示开始索引。
  • end:表示结束索引。
  • step:表示步长。

各个参数的使用比较灵活,详情 举例如下所示:

list_demo5 = [1, 2, 3, 4, 5, 6]

print('list_demo5[::] =', list_demo5[::])  # 三个参数都不写
print('list_demo5[:2:2] =', list_demo5[:2:2])  # 不写 start 参数
print('list_demo5[1::2] =', list_demo5[1::2])  # 不写 end 参数
print('list_demo5[1:2:] =', list_demo5[1:2:])  # 不写 step 参数
print('list_demo5[1:4:2] =', list_demo5[1:4:2])
print('list_demo5[1:4:3] =', list_demo5[1:4:3])
print('list_demo5[1:2] =', list_demo5[1:2])  # 不要 step 参数

# 不要 step 参数
print('list_demo5[:] =', list_demo5[:])
print('list_demo5[1:] =', list_demo5[1:])
print('list_demo5[2:] =', list_demo5[2:])
print('list_demo5[:1] =', list_demo5[:1])
print('list_demo5[:2] =', list_demo5[:2])
print('list_demo5[1:3] =', list_demo5[1:3])

运行结果:

list_demo5[::] = [1, 2, 3, 4, 5, 6]
list_demo5[:2:2] = [1]
list_demo5[1::2] = [2, 4, 6]
list_demo5[1:2:] = [2]
list_demo5[1:4:2] = [2, 4]
list_demo5[1:4:3] = [2]
list_demo5[1:2] = [2]
list_demo5[:] = [1, 2, 3, 4, 5, 6]
list_demo5[1:] = [2, 3, 4, 5, 6]
list_demo5[2:] = [3, 4, 5, 6]
list_demo5[:1] = [1]
list_demo5[:2] = [1, 2]
list_demo5[1:3] = [2, 3]

4 Python删除列表

Python 自带的有垃圾回收机制,对于创建好的列表,如果不再使用,Python 会自动将其回收。

当然,也可以手动进行删除,那就要使用del关键字了。

使用del关键字手动删除的格式如下:

del listname

对以上格式说明,

  • listname:表示要珊瑚列表的名称。

举例如下所示:

list_demo6 = [1, 2, 3, 4, 5]
print(list_demo6)
del list_demo6  # 使用 del 关键字删除列表 list_demo6
print(list_demo6)  # 删除后,再次打印

运行结果:

[1, 2, 3, 4, 5]
Traceback (most recent call last):
  File "D:/Data/PycharmProjects/demo/demo.py", line 68, in <module>
    print(list_demo6)  # 删除后,再次打印
NameError: name 'list_demo6' is not defined

5 列表基本操作(增删改查)

5.1 增(添加列表元素)

5.1.1 Python append() 方法添加元素

格式如下所示:

listname.append(obj)

对以上格式说明,

  • append(): append()方法会在列表中添加元素,要注意的是:append()添加的元素在列表的末尾。
  • listname:表示要添加元素的列表。
  • obj:表示要添加到列表末尾的数据。obj如果是列表或元组,会将列表或元组当做一个整体作为要添加元素列表的一个元素,形成一个包含列表或元组的“新列表”(“新列表”指的是列表内存地址没变,元素更新了)。

举例如下所示:

例一,添加数据为字符串

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
list_demo1.append('码农阿杰')  # 用 append() 函数向列表 list_demo1 的末尾添加的数据为字符串
print('---- 添加元素后的列表 ----:')
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', ':', '码农阿杰']

例二,添加数据为列表

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
print('---- 添加元素后的列表 ----:')
list_demo1.append([1, 2, 3])  # 用 append() 函数向列表 list_demo1 的末尾添加的数据为列表
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', ':', [1, 2, 3]]

例三,添加数据为元组

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
print('---- 添加元素后的列表 ----:')
list_demo1.append((1, 2, 3))  # 用 append() 函数向列表 list_demo1 的末尾添加的数据为元组
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', ':', (1, 2, 3)]

5.1.2 Python extend() 方法添加元素

格式如下所示:

listname.extend(obj)

对以上格式说明,

  • extend()extend()会在列表中添加元素,要注意的是extend()添加的元素在列表的末尾。这一点跟append()方法一致。
  • listname:要添加元素的列表。
  • objobj表示要添加到列表末尾的数据。要注意的是:会与append()方法不同,append()方法会将字符串、列表或元组当做一个整体作为要添加元素列表的一个元素,形成一个包含字符串、列表或元组的“新列表”(“新列表”指的是列表内存地址没变,元素更新了);而extend()方法会将它们包含的元素逐个添加到列表中,不会将它们视为一个整体哦。

举例如下所示:
例一,添加数据为字符串

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
list_demo1.extend('码农阿杰')  # 用 extend() 函数向列表 list_demo1 的末尾添加的数据为字符串
print('---- 添加元素后的列表 ----:')
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', ':', '码', '农', '阿', '杰']

例二,添加数据为列表

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
print('---- 添加元素后的列表 ----:')
list_demo1.extend([1, 2, 3])  # 用 extend() 函数向列表 list_demo1 的末尾添加的数据为列表
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', ':', 1, 2, 3]

例三,添加数据为元组

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
print('---- 添加元素后的列表 ----:')
list_demo1.extend((1, 2, 3))  # 用 extend() 函数向列表 list_demo1 的末尾添加的数据为元组
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', ':', 1, 2, 3]

5.1.3 Python insert() 方法插入元素

格式如下所示:

listname.insert(index , obj)

对以上格式说明,

  • insert()insert()方法可以在列表中间某个(指定位置)位置插入元素。append()extend()方法只能在列表末尾插入元素。
  • listname:表示要插入元素的列表。
  • index:表示指定位置的索引值。
  • obj:要插入列表的数据。如果插入的数据是列表或元组,insert() 也会将它们视为一个整体,作为一个元素插入到列表中,在这一点上和 append()方法是一样的。

举例如下所示:
例一,插入数据为字符串

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
print('---- 添加元素后的列表 ----:')
list_demo1.insert(1, '码农阿杰')  # 用 insert() 方法向列表 list_demo1 中索引值为 1 的位置添加的数据为字符串
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', '码农阿杰', ':']

例二,插入数据为列表

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
print('---- 添加元素后的列表 ----:')
list_demo1.insert(1, [1, 2, 3])  # 用 insert() 方法向列表 list_demo1 中索引值为 1 的位置添加的数据为列表
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', [1, 2, 3], ':']

例三,插入数据为元组

list_demo1 = ['微信公众号', ':']  # 要添加元素的列表 list_demo1
print('---- 原列表 ----:')
print(list_demo1)
print('---- 添加元素后的列表 ----:')
list_demo1.insert(1, (1, 2, 3))  # 用 insert() 方法向列表 list_demo1 中索引值为 1 的位置添加的数据为元组
print(list_demo1)

运行结果:

---- 原列表 ----:
['微信公众号', ':']
---- 添加元素后的列表 ----:
['微信公众号', (1, 2, 3), ':']

5.1.4 其他方法(使用 +


相关教程