Python编程之旅:深入探索强大的容器——列表

        在Python编程的世界中,容器(Containers)是一种用于存储多个项目的数据结构。其中,列表(List)是最常用且功能强大的容器之一。无论是初学者还是资深开发者,掌握列表的使用方法和技巧都是提升Python编程能力的关键一步。

        列表在Python中是一个有序的元素集合,可以包含任意类型的对象:数字、字符串、甚至是其他列表。它的灵活性使得列表成为处理集合数据的理想选择。无论是简单的数据操作,还是复杂的算法实现,列表都能提供强大的支持。

        在本篇博客中,我们将深入探讨Python列表的各个方面,包括其基本概念、常用方法以及在实际编程中的应用。我们将从列表的创建和访问开始,逐步深入到列表的切片、排序、循环遍历等高级用法。同时,我们还将分享一些使用列表时的小技巧和注意事项,帮助读者更好地掌握这一强大的容器。

创建及访问列表

  • 列表是 有序、可变 的数据类型

  • 列表中可以包含 不同类型 的对象

  • 列表可以由 [] 创建

  • 支持 下标切片 操作

列表的定义

#使用赋值方式进行列表的定义
empty_list=[]
user_list = ["铁锤", "大锤", "小红"]
number_list = [98, 88, 666, 12, -1]
data_list = [1, True, "nfx"]

列表的常用方法(增删改查)

序号分类关键字 / 函数 / 方法说明
1增加列表.insert(索引, 数据)在指定位置插入数据
列表.append(数据)在末尾追加数据
列表.extend(列表2)将列表2 的数据追加到列表
2修改列表[索引] = 数据修改指定索引的数据
3删除del 列表[索引]删除指定索引的数据
列表.remove(数据)删除第一个出现的指定数据
列表.pop删除末尾数据
列表.pop(索引)删除指定索引数据
列表.clear清空列表
4统计len(列表)列表长度
列表.count(数据)数据在列表中出现的次数
5排序列表.sort()升序排序
列表.sort(reverse=True)降序排序
列表.reverse()逆序、反转

举个栗子吧

建立基本列表

  1.  append方法

  2.  insert方法

  3.  extend方法

  4. 修改

  5. del关键字删除

  6. remove关键字删除

  7. pop方法

  8. clear方法

  9. 统计单个元素个数

  10. 统计所有元素数量

  11. 排序

  12. 翻转元素

  13.  元素是否存在

 做个蹄吧

例:删除列表中重复的元素   
列表:list1=[1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
list1=[1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
#While循环:(方法1)
while 10 in list1:
    list1.remove(list1[10])
#For循环: (方法2)
for i in range(list1.count(10)):
    list1.remove(10)
#打印
print(list1)

你学会了吗

----印象加深----
例: 有此列表           li = ["alex", "jerry", "tom", "barry", "wall"]
  1. 计算列表的 长度 并输出
  2. 请通过步长获取索引为 偶数 的所有值,并打印出获取后的列表
  3. 列表中追加元素 mike,并输出添加后的列表
  4. 请在列表的第 1个位置插入元素 Tony ,并输出添加后的列表
  5. 请修改列表第 2 个位置的元素为 Kelly,并输出修改后的列表
  6. 请将列表 l2 = [1,”a”,3,4,”heart”] 的每一个元素追加到列表 li 中,并输出添加后的列表
  7. 请删除列表中的元素 ”barry”,并输出删除后的列表
  8. 请删除列表中的第 2 个元素,并 输出 删除元素后的列表
#参考答案

#1.计算列表的 长度 并输出
print(len(li))

#2.请通过步长获取索引为 偶数 的所有值,并打印出获取后的列表
print(li[::2])

#3.列表中追加元素 mike,并输出添加后的列表
li.append("mike")
print(li)

#4.请在列表的第 1个位置插入元素 Tony ,并输出添加后的列表
li.insert(0, "Tony")
print(li)

#5.请修改列表第 2 个位置的元素为 Kelly,并输出修改后的列表
li[1] = "Kelly"
print(li)

#6.请将列表 l2 = [1,”a”,3,4,”heart”] 的每一个元素追加到列表 li 中,并输出添加后的列表
l2 = [1,"a",3,4,"heart"]
li.extend(l2)
print(li)

#7.请删除列表中的元素 ”barry”,并输出删除后的列表
li.remove("barry")
print(li)

#8.请删除列表中的第 2 个元素,并 输出 删除元素后的列表
li.pop(1)
print(li)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/549130.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

引导和服务(2)

服务 1.systemd服务的简要介绍 (1)对比5 6 可以解决依赖关系并行启动 (2)按需启动 (3)自动解决依赖关系 负责在系统启动或运行时,激活系统资源,服务器进程和其它进程 2.System…

Python 处理地理空间异常值:基于 MAD 的简单方法

就像任何其他数据一样,在处理地理空间数据时,识别和纠正异常值是数据准备中的关键步骤,可确保任何后续分析的准确性。异常值可能会严重扭曲空间分析的结果,从而导致错误的结论。虽然还有其他方法可以解决此问题,但处理这些异常值的一种直接有效的方法是使用中值绝对偏差 (…

第十一届土木与城市工程国际会议(ICCUE 2024)即将召开!

第十一届土木与城市工程国际会议(ICCUE 2024)将于2024年8月20-22日在意大利罗马召开。土木与城市工程,作为人类社会发展的重要基石,承载着推动城市繁荣、提升人民生活质量的重任。ICCUE 2024的召开,旨在搭建一个国际化…

HDLbits 刷题 --Mux2to1

Create a one-bit wide, 2-to-1 multiplexer. When sel0, choose a. When sel1, choose b. 译: 创建一个1位宽的2对1多路复用器。当sel0时,选择a。当sel1时,选择b。 个人解法: module top_module( input a, b, sel,output out …

IO流-IO框架

简介 java的IO流操作提供了最简单的操作&#xff0c;第三方基于日常使用习惯&#xff0c;写了很多IO框架&#xff0c;更加方便操作避免重复造轮子&#xff0c;提高开发效率 Commons-io 简介 Commons-io是apche提供的IO操作的小框架 部分常用的API 引入依赖 <dependency>…

mbti,ESFP型人格的心理问题分析

什么是ESFP型人格&#xff1f; ESFP分别代表的是外向&#xff0c;实感&#xff0c;情感和依赖&#xff0c;ESFP型人格则是一种性格上活泼开朗&#xff0c;富有同情心的一种性格&#xff0c;具有这种人格的人在日常生活当中&#xff0c;社交能力十分突出&#xff0c;活泼开朗&a…

高级IO和5种IO模型

目录 1. 高级IO1.1 IO的基本概念1.2 OS如何得知外设当中有数据可读取1.3 OS如何处理从网卡中读取到的数据包1.4 IO的步骤 2. 五种IO模型2.1 利用钓鱼来理解2.2 阻塞IO2.3 非阻塞IO2.4 信号驱动IO2.5 IO多路转接2.6 异步IO 3. 高级IO的概念3.1 同步通信 VS 异步通信3.2 阻塞 VS …

《剑指 Offer》专项突破版 - 面试题 107 : 矩阵中的距离(C++ 实现)

题目链接&#xff1a;矩阵中的距离 题目&#xff1a; 输入一个由 0、1 组成的矩阵 M&#xff0c;请输出一个大小相同的矩阵 D&#xff0c;矩阵 D 中的每个格子是矩阵 M 中对应格子离最近的 0 的距离。水平或竖直方向相邻的两个格子的距离为 1。假设矩阵 M 中至少有一个 0。 …

JavaEE:HTTP协议

基本内容 网站 后端&#xff08;HTTP服务器&#xff09; 前端&#xff08;浏览器&#xff09;&#xff0c;而后端和前端都需要遵循HTTP协议 HTTP属于超文本传输协议&#xff0c;存在于应用层 文本&#xff1a;一般能在utf8或者gbk上找到的合法字符串 超文本&#xff1a;不仅…

Jmeter 性能-死锁问题定位+分析

1、环境搭建 ①准备脚本&#xff0c;执行压测 ②用Jstack 打印日志 jstack 112759 >dead.log ③下载日志到本地 sz dead.log 2、问题定位 ①打开dead.log&#xff0c;搜索deadlock ②查看死锁的线程 ③查看死锁位置 3、问题分析 ①下载死锁的类文件 Sz CaseControlle…

为什么公共云的弹性能力很难被发挥出来?

作者&#xff5c;王小瑞 AutoMQ 联合创始人 & CEO 云计算通过资源池化实现单位资源成本更优&#xff0c;使企业能够将 IDC 建设、基础软件研发和运维等工作外包给云厂商&#xff0c;从而更专注于业务创新。资源池不仅包括服务器&#xff0c;还包括人才。云厂商集聚了优秀…

Java链式编程

一&#xff1a;链式编程 可以简化编程。代码简洁。 定义&#xff1a; 链式编程&#xff1a;顾名思义&#xff0c;链子嘛。它是一种编程范式&#xff0c;它允许将多个函数或操作连接在一起&#xff0c;形成一个链条&#xff0c;以执行复杂的操作。 优点&#xff1a; 编程性…

酒店水电智能化管理解决方案

在酒店行业中&#xff0c;水电能源的高效管理是实现可持续发展与降低运营成本的关键。酒店水电智能化管理解决方案通过运用先进技术&#xff0c;实现了对酒店水电资源的高效、智能监控与管理。本文将从解决方案的背景、核心技术以及带来的效益三个方面全面介绍该解决方案。 解…

快速掌握乡村振兴展厅设计要点,打造令人瞩目的展示效果!

基于数字多媒体技术研发的多媒体互动装置&#xff0c;给展览展示行业带来了巨大的创新和改变&#xff0c;这种将现代科技与传统展厅相融合的展示形式&#xff0c;做到了一馆多用的功能建设&#xff0c;而这一特性也为乡村文化和历史传承提供了更好的平台。那么&#xff0c;下面…

keil创建单片机工程

一、创建工程 打开Keil uVision4&#xff0c;依次选择 Project—>New uVision4 Project&#xff0c;选择工程保存路径及填写工程名称&#xff0c;如下图 然后点“保存”。在Select a CPU Data Base File中选择"STC MCU Database"&#xff0c;点 "OK"&am…

【muzzik 分享】关于 MKFramework 的设计想法

MKFramework是我个人维护持续了几年的项目&#xff08;虽然公开只有一年左右&#xff09;&#xff0c;最开始由于自己从事QP类游戏开发&#xff0c;我很喜欢MVVM&#xff0c;于是想把他做成 MVVM 框架&#xff0c;在论坛第一个 MVVM 框架出来的时候&#xff0c;我的框架已经快完…

拉普拉斯金字塔的频谱分析

1. 基本分析 拉普拉斯金字塔分解&#xff0c;主要由以下步骤组成&#xff1a; 对输入图像 L0 进行低通滤波&#xff0c;其中常采用高斯滤波&#xff1b;对低通滤波后的图像进行 1/2 倍率的下采样&#xff0c;这里的下采样通常是指直接取偶行且偶列&#xff08;以 0 开始计&am…

惯用Python的5个技巧(循环)

在这篇文章中&#xff0c;你将看到5种方法可以使你的python循环更习惯&#xff0c;运行得更快&#xff0c;内存效率更高。 在我看来&#xff0c;Python是计算机科学中最简单、最通用的语言之一。如果你正确地编写python代码&#xff0c;很难区分python代码和伪代码。但有时&…

免单优选电商模式:激发购买欲望的创新销售策略

免单优选电商模式&#xff0c;作为一种创新的销售策略&#xff0c;其核心在于通过价格优惠、渐进式激励和社交网络结合&#xff0c;有效刺激消费者的购买行为&#xff0c;进而推动销售业绩的快速增长。 一、合法合规&#xff0c;规避多层次奖励风险 该模式坚持合法合规的运营原…

【从浅学到熟知Linux】进程控制下篇=>进程程序替换与简易Shell实现(含替换原理、execve、execvp等接口详解)

&#x1f3e0;关于专栏&#xff1a;Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 进程程序替换什么是程序替换及其原理替换函数execlexeclpexecleexecvexecvpexecvpeexecve 替换函数总结实现…