首页 > 编程语言 >### Python 列表操作详解:从创建、增删到高级技巧全覆盖

### Python 列表操作详解:从创建、增删到高级技巧全覆盖

时间:2024-06-04 09:46:04浏览次数:22  
标签:输出 Python list1 元素 list 列表 print 增删 ###

1. 创建列表

使用 list 函数
  • 创建空列表:

    empty_list = list()
    print(empty_list)  # 输出: []
    
  • 从字符串创建列表:

    string = "hello"
    list_from_string = list(string)
    print(list_from_string)  # 输出: ['h', 'e', 'l', 'l', 'o']
    
  • 从元组创建列表:

    tuple_data = (1, 2, 3, 4)
    list_from_tuple = list(tuple_data)
    print(list_from_tuple)  # 输出: [1, 2, 3, 4]
    
  • 从字典创建列表:

    dict_data = {'a': 1, 'b': 2, 'c': 3}
    list_from_dict = list(dict_data)
    print(list_from_dict)  # 输出: ['a', 'b', 'c']
    
  • 从集合创建列表:

    set_data = {1, 2, 3, 4}
    list_from_set = list(set_data)
    print(list_from_set)  # 输出: [1, 2, 3, 4]
    
  • 从其他可迭代对象创建列表:

    range_object = range(5)
    list_from_range = list(range_object)
    print(list_from_range)  # 输出: [0, 1, 2, 3, 4]
    

2. 增加元素

使用 append() 方法
  • 在列表末尾添加元素:
    list1 = [1, 2, 3]
    list1.append(4)
    print(list1)  # 输出: [1, 2, 3, 4]
    
使用 insert() 方法
  • 在指定位置插入元素:
    list1 = [1, 2, 3]
    list1.insert(1, 'a')
    print(list1)  # 输出: [1, 'a', 2, 3]
    
使用 extend() 方法
  • 扩展列表,添加另一个可迭代对象的所有元素:
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    list1.extend(list2)
    print(list1)  # 输出: [1, 2, 3, 4, 5, 6]
    

3. 删除元素

使用 remove() 方法
  • 删除第一个匹配的元素:
    list1 = [1, 2, 3, 2]
    list1.remove(2)
    print(list1)  # 输出: [1, 3, 2]
    
使用 pop() 方法
  • 删除并返回最后一个元素或指定索引位置的元素:
    list1 = [1, 2, 3]
    popped_element = list1.pop()
    print(popped_element)  # 输出: 3
    print(list1)           # 输出: [1, 2]
    
    list1 = [1, 2, 3]
    popped_element = list1.pop(1)
    print(popped_element)  # 输出: 2
    print(list1)           # 输出: [1, 3]
    
使用 del 语句
  • 删除指定位置的元素或整个列表:
    list1 = [1, 2, 3]
    del list1[1]
    print(list1)  # 输出: [1, 3]
    
    del list1  # 删除整个列表
    
使用 clear() 方法
  • 清空列表中的所有元素:
    list1 = [1, 2, 3]
    list1.clear()
    print(list1)  # 输出: []
    

4. 列表切片操作

获取子列表
  • 通过切片获取子列表:
    list1 = [1, 2, 3, 4, 5]
    sub_list = list1[1:4]
    print(sub_list)  # 输出: [2, 3, 4]
    
切片赋值增加元素
  • 通过切片在指定位置插入元素:
    list1 = [1, 2, 5]
    list1[2:2] = [3, 4]  # 在索引2的位置插入[3, 4]
    print(list1)  # 输出: [1, 2, 3, 4, 5]
    
切片赋值删除元素
  • 通过切片删除指定范围内的元素:
    list1 = [1, 2, 3, 4, 5]
    list1[1:4] = []
    print(list1)  # 输出: [1, 5]
    

5. 其他常用方法

使用 index() 方法
  • 返回第一个匹配元素的索引:
    list1 = [1, 2, 3, 2]
    index = list1.index(2)
    print(index)  # 输出: 1
    
使用 count() 方法
  • 返回元素在列表中出现的次数:
    list1 = [1, 2, 3, 2]
    count = list1.count(2)
    print(count)  # 输出: 2
    
使用 sort() 方法
  • 对列表进行原地排序:
    list1 = [3, 1, 2]
    list1.sort()
    print(list1)  # 输出: [1, 2, 3]
    
使用 reverse() 方法
  • 将列表中的元素反转:
    list1 = [1, 2, 3]
    list1.reverse()
    print(list1)  # 输出: [3, 2, 1]
    

总结

掌握列表的各种操作方法是 Python 编程的基础。这些方法可以帮助你有效地管理和处理数据。

标签:输出,Python,list1,元素,list,列表,print,增删,###
From: https://www.cnblogs.com/zsjlwd/p/18230162

相关文章

  • 学习笔记15:第二种加载数据的方法
    转自:https://www.cnblogs.com/miraclepbc/p/14367560.html构建路径集和标签集取出所有路径importgloball_imgs_path=glob.glob(r"E:\datasets2\29-42\29-42\dataset2\dataset2\*.jpg")获得所有标签species=['cloudy','rain','shine',&......
  • 学习笔记16:残差网络
    转自:https://www.cnblogs.com/miraclepbc/p/14368116.html产生背景随着网络深度的增加,会出现网络退化的现象。网络退化现象形象化解释是在训练集上的loss不增反降。这说明,浅层网络的训练效果要好于深层网络一个想法就是,如果将浅层网络的特征传到深层网络,那么深层网络的训练效果......
  • BGP中next-hop-self 小实验
    next-hop-self在EBGP和IBGP边界使用,对ibgp下一跳邻居使用配置命令routerbgp1234neighbor2.2.2.2next-hop-self使用Next-hop-self原因EBGP的路由传进IBGP时,带的下一跳是EBGP的地址。在IBGP中传给下一跳的IBGP路由器时,携带的还是EBGP的地址。由于第二跳的IBGP没有EBGP......
  • Redis之set
    SetRedis的Set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。(无序不重复)集合对象的编码可以是intset或者hashtable。Redis中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。案例127.0.0.1:6379>SADDmysethe......
  • 界面控件DevExpress WinForms的流程图组件 - 可完美复制Visio功能(二)
    DevExpressWinForms的Diagram(流程图)组件允许您复制MicrosoftVisio中的许多功能,并能在下一个WindowsForms项目中引入信息丰富的图表、流程图和组织图。P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美......
  • 学习笔记17:DenseNet实现多分类(卷积基特征提取)
    转自:https://www.cnblogs.com/miraclepbc/p/14378379.html数据集描述总共200200类图像,每一类图像都存放在一个以类别名称命名的文件夹下,每张图片的命名格式如下图:数据预处理首先分析一下我们在数据预处理阶段的目标和工作流程获取每张图像以及对应的标签划分测试集和训......
  • 学习笔记19:图像定位
    转自:https://www.cnblogs.com/miraclepbc/p/14385623.html图像定位的直观理解不仅需要我们知道图片中的对象是什么,还要在对象的附近画一个边框,确定该对象所处的位置。也就是最终输出的是一个四元组,表示边框的位置图像定位网络架构可以将图像定位任务看作是一个回归问题!数据......
  • python常用语法
    Python是一种非常流行的编程语言,因其简洁和易读性而备受欢迎。以下是一些Python的常用语法,涵盖基本语法、数据类型、控制流、函数、类和模块等内容。1.基本语法1.1打印输出print("Hello,world!")1.2变量赋值x=10y=20name="Alice"2.数据类型2.1数字inte......
  • 安徽京准 NTP时间服务器(网络授时服务器)技术应用方案
    安徽京准NTP时间服务器(网络授时服务器)技术应用方案安徽京准NTP时间服务器(网络授时服务器)技术应用方案京准电子科技官微——ahjzsz摘要:药食品质量安全追溯系统中各计算机设备间必须保持精确的时间同步,才能保证对药品食品各种相关信息的记录准确可靠。基于网络时间协议(NTP),结......
  • 成熟的双向同步方案,能够解决哪些同步问题?
    在企业的数据流转管控过程中,经常会遇到频繁的数据备份、同步,人工重复这样的工作程序,既繁琐又容易出错。因此对于企业而言,选择一款高效且安全的同步软件成为了企业运营中的关键一环,不仅能够提高工作效率,还能确保数据的安全性。在选择双向同步方案时,首先要明确自己的需求。不同的......