Python快速闯关5:列表

好了,在这一篇博客,我们该来看看Python当中的数据结构了。在这里,我们先介绍列表。

为什么要使用列表?

不知道大家遇没遇到过一些情况,像下面这样:想使用程序计算一些对象,却无法存储;或使用字符串时没有办法进行修改,方法简单,切片容易错且复杂。
因此,我们需要一种数据结构来存储数据,那就是列表。

列表的定义及使用

列表的定义使用中括号,代码如下:

a=[1,2,3,4,5] b=["hello",'world'] c=[1,2,3,4,5,"hello",'world']

这里列表中的数据类型可以多样,用逗号隔开。
提示:这里如果要使用"1"这种数字字符,记得带上引号)。

输出列表时,直接使用print()函数即可。

print(a)print(b)print(c)

输出的格式是带中括号的:

[1, 2, 3, 4, 5]['hello', 'world'][1, 2, 3, 4, 5, 'hello', 'world']

这里列表可以向字符串一样直接通过下标对列表里面的元素进行访问:

print(a[0])print(b[1])print(c[2])

输出:

1 world 3

列表的基本操作

  1. 获取列表的长度
    使用len()函数即可获取列表的长度:
print(len(a))# 输出:5
  1. 列表的切片访问
    列表和字符串一样,可以直接切片访问:
print(a[1:3])#输出仍然时一个列表:[2,3]
  1. 列表元素的增加
    通过append的方法可以增加列表中的元素:
a.append(6)print(a)#输出:[1, 2, 3, 4, 5, 6]

也可以通过insert方法在列表的指定位置插入元素:

a.insert(0,7)print(a)# 输出:[7, 1, 2, 3, 4, 5, 6]
  1. 移除特定的元素
    通过remove的方法可以移除列表中特定的元素:
a.remove(6)print(a)# 输出:[7, 1, 2, 3, 4, 5]
  1. 弹出指定的元素
    使用pop方法可以将列表中指定的元素弹出(也可以理解为删除),这里pop方法可以传入一个参数(可以删除指定下标的元素),默认(没有给出参数的话就是默认最后一个):
a.pop()print(a)#输出:[7, 1, 2, 3, 4]

提示:这里的pop时可以返回被弹出的元素,可以查看到是哪个元素被删除了:

x=a.pop()print(x)print(a)

输出如下:

4[7, 1, 2, 3]
  1. 反转列表:
    使用reverse方法可以反转一个列表:
print(a) a.reverse()print(a)

输出:

[7, 1, 2, 3] [3, 2, 1, 7] 
  1. 排序
    这应该是列表里面最方便的操作了,使用sort方法即可排序:
a.sort()print(a)#输出:[1, 2, 3, 7]
  1. 统计指定的元素
    这一个方法也是一个极大提高效率的工具:
    先给a列表中添加几个元素,再统计元素”3“(数字)的个数:
a.append(3) a.append(3) a.append(5) a.append(3) a.append(3)print(a) n=a.count(3)print(n)

输出:

[1, 2, 3, 7, 3, 3, 5, 3, 3]5
  1. 合并列表
    使用extend方法:
a.extend(b)print(a)print(b)

这一操作不影响被合并的列表,输出如下:

[1, 2, 3, 7, 3, 3, 5, 3, 3, 'hello', 'world']['hello', 'world']
  1. 返回指定元素的下标
    通过index方法实现:
    a.index(5)即可返回。
    注意:这里仅返回第一个元素的下标,这里可做一组测试:
a.append(5)print(a.index(5))# 输出仍然是:6,说明刚刚添加进去那个元素没有被输出下标
  1. 复制列表
    copy方法实现,示例:
d=a.copy()print(d)#输出:[1, 2, 3, 7, 3, 3, 5, 3, 3, 'hello', 'world', 5]
  1. 清空列表
    使用clear方法实现,示例:
d.clear()print(d)#输出:[]
  1. 删除列表
    这里可以使用del进行删除,del 是一个语句,而不是列表特有的方法。
    示例:
del d print(d)#这里输出会报错,d已经不存在了

好了,以上就是本篇文章的全部内容。欢迎在评论区留言讨论,我们一起进步!

Read more

【数据结构与算法】环与相遇:链表带环问题的底层逻辑与工程实现

【数据结构与算法】环与相遇:链表带环问题的底层逻辑与工程实现

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人等方向学习者 ❄️个人专栏:《C语言》《【初阶】数据结构与算法》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、带环链表 * 1.1题目 * 1.2 算法原理 * 1.3 代码 * 1.4 数学证明 * 1.4.1 为什么带环slow与fast必定能相遇? * 1.4.2 fast一定只能走2步吗?可以是2步甚至更多吗? * 1.4.2.1 以3步为例 * 1.4.3结论 * 二、环形链表(寻找相遇点) * 2.1 题目

By Ne0inhk

Python金融数据获取终极指南:告别繁琐,5分钟掌握专业级数据源

Python金融数据获取终极指南:告别繁琐,5分钟掌握专业级数据源 【免费下载链接】mootdx通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 还在为金融数据获取而苦恼吗?面对复杂的行情接口、繁琐的数据格式转换,很多数据分析师和量化交易爱好者都感到力不从心。今天,我将为你揭秘一个强大的Python工具——mootdx,它能让你轻松获取通达信金融数据,为你的投资分析提供坚实的数据支撑。 🎯 你的数据获取痛点,我们懂! 数据获取的三大难题: * 接口复杂难上手:传统行情接口学习成本高,文档晦涩 * 数据格式不统一:不同来源的数据格式各异,转换工作繁琐 * 更新维护成本高:数据源不稳定,需要频繁调整和维护 mootdx正是为解决这些痛点而生,它提供了: * 📊 一站式数据解决方案:从历史数据到实时行情,全面覆盖 * 🔄 智能连接优化:自动选择最佳服务器,确保数据稳定获取 * 💡 开发体验升级:简洁的API设计,让数据获取变得简单高效 🚀 快速上手:5分钟开启数据

By Ne0inhk
Python Anaconda 换源: 设置清华源

Python Anaconda 换源: 设置清华源

为 Anaconda 设置清华源可以极大地提升软件包下载和更新的速度。以下是详细的步骤,分为两个主要部分:为 conda 本身设置频道镜像和为 pip 设置索引镜像。 方法一:通过命令行快速设置(推荐) 这是最快捷的方法,通过执行几条命令即可完成。 1. 打开终端(Windows 用 Anaconda Prompt, Mac/Linux 用 Terminal)。 验证配置: 执行以下命令查看当前的配置,确认 channels 里已经都是清华源的地址。 conda config --show channels (可选但推荐)移除默认的官方频道: 为了避免 conda 在官方源和清华源之间来回切换,可以移除默认的 defaults 频道。 conda config --remove channels defaults 设置搜索时显示频道地址: conda config

By Ne0inhk

Python 进阶爬虫:解析知识星球 API

一、知识星球 API 核心原理与接口分析 知识星球的前端页面采用动态加载技术(JavaScript 渲染),所有内容数据均通过后端 API 接口以 JSON 格式返回,前端再将数据渲染为可视化页面。因此,API 爬虫的核心逻辑是模拟前端请求,直接调用 API 接口获取原始 JSON 数据,而非解析 HTML 页面。 1.1 API 接口基础架构 知识星球的 API 接口遵循 RESTful 设计规范,核心请求域名为<font>https://api.zsxq.com</font>,所有接口均通过 HTTPS 协议传输,确保数据安全性。接口主要分为三大类: * 认证类接口:

By Ne0inhk