Python3 列表

专栏地址:最强 Python3 基础

公众号:Python 生产力



前言

列表,通俗点来讲就是一组数据按照线性排序所组成的有限序列。注意,这边列表是有顺序的,也就是说元素的排列是根据添加的顺序来排列的。

在列表上,我们可以通过对列表中的元素进行查找、插入、删除等基本操作,实现数据的简单处理。

可以通过以下几个例子来看到,列表的基本形式就是在一个中括号中用逗号分开一组数据的形式。而且,列表中的数据类型并不固定,所有 Python 中的基本类型都可以存入并进行操作。

list1 = [1, 2, 3, 4, 5, 6]
list2 = ['Python', 'Java', 'C++']
list3 = ['James', 188.5, 35]

还有一种是进行嵌套的列表,也就是列表中可以包含子列表,每个元素都可以是一个列表。

list1 = [[1, 2, 3], [4, 5, 6]]
list2 = [[1, 2, 3], 'C++']

一、列表的操作

1. 查询

和字符串一样,列表的数据查找也是需要通过索引来判断数据的位置并输出的,而且索引的位置一样是从 0 开始的,并不是从 1 开始。通过索引,我们可以对列表做各种操作。

这边我们可以根据例子来获取列表中的某个元素。举例:
在这里插入图片描述

通过最下面的输出内容可以看到,获取列表中相对应的值,只需要填入值相对应的索引就行。

list1 = ['Python', 'Java', 'C++', 'Go', 'Ruby']

print(list1[0])
print(list1[1])
print(list1[2])

# 输出:
Python
Java
C++

而且可以看到,最下面还有一个反向索引,反向索引和正向的索引一样,只不过顺序是倒过来的,并且索引不是从 0 开始,而是从 -1 开始的

list1 = ['Python', 'Java', 'C++', 'Go', 'Ruby']

print(list1[-1])
print(list1[-2])
print(list1[-3])

# 输出:
Ruby
Go
C++

2. 切片

同时,列表也可以像字符串一样进行切片、截取,使用方式和字符串截取是一样的。可以回顾一下:Python3 字符串数据类型

list1 = ['Python', 'Java', 'C++', 'Go', 'Ruby']

print(list1[0:2])
print(list1[-3:-1])

# 输出:
['Python', 'Java']
['C++', 'Go']

3. 删除

对列表元素的删除操作可以使用 del 语句。

list1 = ['Python', 'Java', 'C++', 'Go', 'Ruby']

del list1[1]

print(list1)

# 输出:
['Python', 'C++', 'Go', 'Ruby']

4. 更新

列表可以通过 append() 方法来进行元素的添加。可以看以下的例子,因为列表可以接收不同类型的数据元素,所以可以在原来全是字符串数据的列表中添加数字数据。

list1 = ['Python', 'Java', 'C++', 'Go', 'Ruby']

list1.append(1990)
list1.append('JavaScript')

print(list1)

# 输出:
['Python', 'Java', 'C++', 'Go', 'Ruby', 1990, 'JavaScript']

或者可以对指定位置的元素进行替换。

list1 = ['Python', 'Java', 'C++', 'Go', 'Ruby']
print('原列表:', list)

list1[0] = 'JavaScript'
list1[2] = 1991

print('更新后的列表:', list)

# 输出:
原列表: ['Python', 'Java', 'C++', 'Go', 'Ruby']
更新后的列表: ['JavaScript', 'Java', 1991, 'Go', 'Ruby']

还有一种方式是用切片的方式对列表中某一部分做更新操作或删除操作,这种方式比一个一个做替换效率要高许多。

例子中,最后一部分是使用切片的方式对原列表做整体的删除。

list1 = ['Python', 'Java', 'C++', 'Go', 'Ruby']
list2 = [123, 456, 789]

list1[1:3] = ['替换的内容1', 1234, 12.3]
print(list)

list1[:] = []
print(list)

list2 = []
print(list2)

# 输出:
['Python', '替换的内容1', 1234, 12.3, 'Go', 'Ruby']
[]
[]

5. 列表运算

列表可以像普通的字符串一样进行运算。目前支持的操作符有 “ + ” 和 “ * ”。“+” 操作符相当于拼接,“*” 操作符相当于复制。

list1 = [1, 2, 3]
list2 = [4, 5, 6]

print(list1 + list2)
print(list1 * 5)

# 输出:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

二、列表的内置函数

Python 中内置了各种列表操作函数,我们可以运用这些函数对列表做增删改查各种操作。

list1 = [1, 2, 3, 4]
函数名称形式描述举例结果
appendlist.append(x)添加 obj 对象list.append(5)[1, 2, 3, 4, 5]
countlist.count(obj)计算 obj 对象在列表中出现的次数list.count(3)1
extendlist.extend(iterable)将 seq 序列添加到列表中list.extend([5, 6])[1, 2, 3, 4, 5, 6]
indexlist.index(x[, start[, end]])查找列表中 obj 第一个匹配到的索引值list.index(4)3
insertlist.insert(i, x)将 obj 对象插入到具体索引位置上list.insert(2, 9)[1, 2, 9, 3, 4]
poplist.pop([i])移除列表中某个索引位置的值,默认为最后一个元素list.pop()[1, 2, 3]
removelist.remove(obj)移除列表中的 obj 对象list.remove(2)[1, 3, 4]
reverselist.reverse()反转列表中的对象list.reverse()[4, 3, 2, 1]
sortlist.sort(*, key=None, reverse=False)排序列表中的对象,如果给定了具体的方法,则使用给定的方法排序list = [1, 4, 2, 3, 6] list.sort()[1, 2, 3, 4, 6]
clearlist.clear()清空列表list.clear()[]
copylist.copy()对列表进行浅拷贝

总结

以上是列表的介绍与基本操作,实际运用中列表会覆盖到许多运用场景,所以运用好列表,能给实际操作添加一大助力。


Python 生产力

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞎叨叨的一天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值