当前位置: 首页 > news >正文

Python 列表操作:深入理解与高效实践

列表 是 Python 中的一种 内置数据类型,用于存储一系列 可变的数据项

列表的方法和属性

        append ():在列表末尾添加一个元素。

my_list = [1, 2, 3]my_list.append(4)print(my_list)  # 输出: [1, 2, 3, 4]

        extend ():将一个列表中的所有元素添加到另一个列表的末尾。

list1 = [1, 2, 3]list2 = [4, 5, 6]list1.extend(list2)print(list1)  # 输出: [1, 2, 3, 4, 5, 6]

        insert ():在列表中的指定位置插入一个元素。

my_list = [1, 2, 3]my_list.insert(1, 'a')print(my_list)  # 输出: [1, 'a', 2, 3]

        remove ():移除列表中指定的元素(如果有多个,默认只移除第一个)。

my_list = [1, 'a', 2, 3]my_list.remove('a')print(my_list)  # 输出: [1, 2, 3]

        pop ():移除列表中指定位置的元素,并返回该元素。

 my_list = [1, 2, 3]popped_element = my_list.pop(1)print(popped_element)  # 输出: 2print(my_list)  # 输出: [1, 3]

        index ():返回列表中指定元素的索引。

my_list = [1, 2, 3, 2, 4]index = my_list.index(2)print(index)  # 输出: 1

        count ():返回列表中指定元素的次数。

 my_list = [1, 2, 3, 2, 4]count = my_list.count(2)print(count)  # 输出: 2

        sort ():对列表中的元素进行排序。

my_list = [3, 1, 4, 1, 5, 9]my_list.sort()print(my_list)  # 输出: [1, 1, 3, 4, 5, 9]

        reverse ():反转列表中的元素顺序。

my_list = [1, 2, 3]my_list.reverse()print(my_list)  # 输出: [3, 2, 1]

        copy ():创建列表的浅拷贝。

# copied_list = list_name.copy() # 基本语法my_list = [1, 10, 2, 3, 6]list_1 = my_list.copy()print(list_1)   # 输出结果为 [1, 10, 2, 3, 6]

        clear ():移除列表中的所有元素。

my_list = [1, 10, 2, 3, 6]list_1 = my_list.copy()print(list_1)   # 输出结果为 [1, 10, 2, 3, 6]list_1.clear()print(list_1)    # 输出结果为 []

        len ():返回列表中元素的数量。

# length = len(list_name)  # 基本语法my_list = [1, 10, 2, 3, 6]list_1 = my_list.copy()print(list_1)   # 输出结果为 [1, 10, 2, 3, 6]length = len(list_1)print(length)   # 输出结果为 5

        list ():将其他数据类型转换为列表。

# listified = list(other_data_type)  # 基本语法my_coco = {1, 10, 2, 3, 6}name = list(my_coco)print(name)   # 输出结果为 [1, 2, 3, 6, 10]

列表切片

        列表切片是一种非常强大的功能,可以使我们用更简洁的方式获取列表的一部分。

        基本语法

list [start:stop:step]

        start:指定切片的开始位置,默认为0,即列表的第一个元素。

        stop:指定切片的结束位置,但不包括该位置的元素。如果省略,默认会切到最后一个元

素。

        step:指定步长,即每次跳跃的元素数量。如果省略,默认为1。

my_list = [1, 2, 3, 4, 5]sliced_list = my_list[1:4]  # 从索引1开始,到索引4(不包含)结束print(sliced_list)  # 输出: [2, 3, 4]

列表推导式

        列表推导式是一种创建列表的简洁方式,特别是当列表生成过程中需要应用一个循环时。

squared_list = [x  x for x in range(5)]print(squared_list) 

列表的初始化方法:

        1. 使用方括号直接创建:

my_list = [1, 2, 3, 4, 5]

        2. 使用列表推导式:

my_list = [x  x for x in range(5)]

        3. 使用list()函数:

my_list = list(range(5))

        4. 使用列表解包:

a, b, c = [1, 2, 3]

        5. 使用运算符:

arr = [0]  20  # 创建一个长度为20的列表,每个元素都是0

初始化大小为20个元素的列表,每个元素初始化为0

        方法一:使用 for 循环和 append ()

arr = []for i in range(20):arr.append(0)

        优点:简单易懂,适用于初学者。

        缺点:性能相对较低,每次循环都会调用append () 方法,增加额外的函数调用开销。

        方法二:使用带计数器变量的while循环和append()

arr = []i = 0while(i < 20):arr.append(0)

        优点:与for循环类似,但计数器变量可以更灵活地控制循环。

        缺点:性能与for循环相似,同样存在函数调用开销。

        方法三:使用列表推导

arr = [0 for i in range(20)]

        优点:简洁高效,性能优于for和while循环。

        缺点:可能不如for循环直观,对于初学者可能需要一段时间来适应。

        方法四:使用运算符

arr = [0]*20

        优点:最简洁高效的方法,直接在内存中创建了20个元素的列表。

        缺点:仅适用于所有元素都相同的情况,不适用于其他初始化需求。

性能比较

        列表推导式通常比 for 和 while 循环快,而使用运算符的速度最快,因为它直接在内存中创建

了所需的列表,避免了每次循环的函数调用开销。

        如果列表的元素都是相同的,使用运算符是最推荐的方法,因为它在创建列表时具有最高的

效率。


http://www.mrgr.cn/news/34205.html

相关文章:

  • Science:这才是参加学术会议的正确打开方式!
  • 20 基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)
  • Web自动化测试
  • RS-232,422,485应用详解
  • 全方位洗衣洗鞋小程序系统,重塑干洗店服务新体验;
  • Java的cnum类型
  • 在Windows系统上安装的 Boost C++ 库
  • ???Ansible——Playbook基本功能
  • 基于flask常见trick——unicode进制编码绕过
  • 【Elasticsearch系列廿一】ES7 SQL 新特性
  • 阿里Arthas-Java诊断工具,基本操作和命令使用
  • 类与对象(中)
  • MySQL学习笔记(持续更新中)
  • 如何降低H5商城系统的开发成本
  • Find My化妆镜|苹果Find My技术与化妆镜结合,智能防丢,全球定位
  • 企微社群管理:构建高效沟通与活跃氛围的策略与实践
  • 昇思MindSpore进阶教程-参数
  • MATLAB在无线传感器网络设计中的应用与实践
  • 从零开始之AI面试小程序
  • LeetCode 20.有效的括号