Python列表数据处理全攻略(三):常用内置方法轻松掌握

发布时间:2023年12月29日

引言

亲爱的读者,你好!Python的列表在数据结构中占据着核心地位,对于学习与应用Python来说,它无疑是我们不可或缺的得力助手。它不仅能帮助我们有效地存储和整理数据,还为我们提供了众多内置方法,让数据处理工作变得简单且高效。在这篇博客中,我们将一同深入探索Python列表的这些内置方法,从基础到进阶,助你全面掌握列表处理的核心技巧。让我们开始吧!

Python列表常用内置方法

count()

功能介绍

Python 列表对象的 count() 方法用于计算列表中某元素出现的次数。此方法会遍历列表中的每一个元素,检查是否与指定的元素相等,并返回相等元素的数量。

语法

list.count(value)

其中,list 是要操作的列表,value 是要计数的元素。

示例

  1. 常规用法
my_list = [1, 2, 3, 2, 1, 2, 3, 2, 2, 2]
element = 2
count = my_list.count(element)
print("元素{}在列表{}中出现的次数为{}次".format(element, my_list, count))

运行结果如下:

元素2在列表[1, 2, 3, 2, 1, 2, 3, 2, 2, 2]中出现的次数为6次

进程已结束,退出代码0
  1. 计算列表中所有元素的出现次数
my_list = [1, 2, 3, 2, 1, 2, 3, 2, 2, 2]
count_dict = {i: my_list.count(i) for i in my_list}
for value, count in count_dict.items():
    print("元素【{}】在列表{}中出现的次数为: {}次".format(value, my_list, count))

运行结果如下:

元素【1】在列表[1, 2, 3, 2, 1, 2, 3, 2, 2, 2]中出现的次数为: 2次
元素【2】在列表[1, 2, 3, 2, 1, 2, 3, 2, 2, 2]中出现的次数为: 6次
元素【3】在列表[1, 2, 3, 2, 1, 2, 3, 2, 2, 2]中出现的次数为: 2次

进程已结束,退出代码0
  1. 判断元素是否在列表中存在

使用 count() 方法可以直接判断指定元素是否在列表中存在,而无需使用 in 运算符。

my_list = [1, 2, 3, 4, 5]
for i in range(10):
    if my_list.count(i) > 0:
        print("元素【{}】在列表{}中存在".format(i, my_list))
    else:
        print("元素【{}】在列表{}中不存在".format(i, my_list))

运行结果如下:

元素【0】在列表[1, 2, 3, 4, 5]中不存在
元素【1】在列表[1, 2, 3, 4, 5]中存在
元素【2】在列表[1, 2, 3, 4, 5]中存在
元素【3】在列表[1, 2, 3, 4, 5]中存在
元素【4】在列表[1, 2, 3, 4, 5]中存在
元素【5】在列表[1, 2, 3, 4, 5]中存在
元素【6】在列表[1, 2, 3, 4, 5]中不存在
元素【7】在列表[1, 2, 3, 4, 5]中不存在
元素【8】在列表[1, 2, 3, 4, 5]中不存在
元素【9】在列表[1, 2, 3, 4, 5]中不存在

进程已结束,退出代码0

注意事项

  1. count() 方法会遍历整个列表,因此对于大数据量的列表,可能会比较慢。如果需要频繁地或大规模地使用 count() 方法,考虑使用其他数据结构或算法。
  2. count() 方法只计算指定元素的出现次数,不会考虑元素的值或类型。例如,对于字符串类型的列表,count() 方法只计算指定字符在字符串列表中出现的次数。
  3. count() 方法不会考虑列表中的子列表或其他复杂结构。如果列表中包含子列表或其他复杂结构,需要使用其他方法来计算元素的出现次数。
  4. 在使用 count() 方法时,需要注意处理空列表的情况。空列表没有元素,因此任何元素的出现次数都为0。例如,[].count(2024) 的返回值是0。
  5. count() 方法返回的是整数类型,如果需要将结果用于浮点数运算,需要进行类型转换。

index()

功能介绍

Python中的index()方法是列表对象的一个方法,用于返回列表中某个特定元素的第一个匹配项的索引。如果列表中不存在该元素,则抛出ValueError异常。

语法

list.index(x)

其中,list是要查找的列表,x是待查找的元素。

示例

  1. 常规操作
my_list = [1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]
for value in my_list:
    index = my_list.index(value)
    print("元素【{}】在列表{}的索引位置为: {}".format(value, my_list, index))

运行结果如下:

元素【1】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 0
元素【3】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 1
元素【5】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 2
元素【7】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 3
元素【9】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 4
元素【10】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 5
元素【11】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 6
元素【12】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 7
元素【13】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 8
元素【14】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 9
元素【15】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 10

进程已结束,退出代码0
  1. 查找第一个出现的元素
my_list = [1] * 1 + [2] * 3 + [3] * 5 + [4] * 7 + [5] * 9
print(my_list)
for i in range(0, 5):
    try:
        index = my_list.index(i)
        print("元素【{}】在列表的索引位置为: {}".format(i, index))
    except ValueError:
        print("很抱歉, 元素【{}】不存在于列表中".format(i))

运行结果如下:

在这里插入图片描述

注意事项:

  • index()方法只能返回第一个匹配项的索引,如果要查找所有匹配项的索引,可以使用列表解析或循环结构来实现。

insert()

功能介绍

Python列表对象的insert()方法用于在指定位置插入一个元素。此方法接受两个参数:第一个参数是元素要插入的位置,第二个参数是要插入的元素。插入位置的索引为0表示在列表的开头插入,负数索引表示从列表末尾开始计数,-1表示列表的最后一个元素。

语法

list.insert(index, element)

示例

  1. 在列表开头插入元素
my_list = [2, 3, 5, 7]

print("插入前,列表为:", my_list)

# 向列表开头插入5个1
for _ in range(5):
    my_list.insert(0, 1)
print(my_list)

print("插入后,列表为:", my_list)

运行结果如下:

插入前,列表为: [2, 3, 5, 7]
[1, 1, 1, 1, 1, 2, 3, 5, 7]
插入后,列表为: [1, 1, 1, 1, 1, 2, 3, 5, 7]

进程已结束,退出代码0
  1. 在列表倒数第二个位置插入元素
my_list = [2, 3, 5, 7]

print("插入前,列表为:", my_list)

# 向列表倒数第二个位置插入5个1
for _ in range(5):
    my_list.insert(-1, 1) 
print(my_list)

print("插入后,列表为:", my_list)

运行结果如下:

插入前,列表为: [2, 3, 5, 7]
[2, 3, 5, 1, 1, 1, 1, 1, 7]
插入后,列表为: [2, 3, 5, 1, 1, 1, 1, 1, 7]

进程已结束,退出代码0
  1. 在列表末尾插入元素
my_list = [2, 3, 5, 7]

print("插入前,列表为:", my_list)

# 向列表末尾插入5个1
for _ in range(5):
    my_list.insert(len(my_list), 1)
print(my_list)

print("插入后,列表为:", my_list)

运行结果如下:

插入前,列表为: [2, 3, 5, 7]
[2, 3, 5, 7, 1, 1, 1, 1, 1]
插入后,列表为: [2, 3, 5, 7, 1, 1, 1, 1, 1]

进程已结束,退出代码0

注意事项

  • insert()方法会改变原列表。
  • 如果要插入的位置超出了列表的长度,默认在列表末尾插入。
  • 如果要插入的元素是可变类型(如列表或字典),其值会被复制到新位置,原值不会被改变。

总结

Python的列表对象提供了insert()方法,可以在指定位置插入一个元素。使用这个方法时,需要注意插入位置的有效性,以及要插入的元素是否为可变类型。insert()方法可以方便地修改列表,使列表中的元素按照特定顺序排列。


结束语

  • 亲爱的读者,感谢您花时间阅读我们的博客。我们非常重视您的反馈和意见,因此在这里鼓励您对我们的博客进行评论。
  • 您的建议和看法对我们来说非常重要,这有助于我们更好地了解您的需求,并提供更高质量的内容和服务。
  • 无论您是喜欢我们的博客还是对其有任何疑问或建议,我们都非常期待您的留言。让我们一起互动,共同进步!谢谢您的支持和参与!
  • 我会坚持不懈地创作,并持续优化博文质量,为您提供更好的阅读体验。
  • 谢谢您的阅读!
文章来源:https://blog.csdn.net/qq_41813454/article/details/135279404
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。