百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

计划:第04天 初识python之列表(python列表讲解)

off999 2024-10-16 11:21 17 浏览 0 评论

今天是晓明兄 “30天python处理Excel计划”第04天,每天15分钟,轻松掌握Python,要坚持呦~。有些时候我们处理的数据很简单,很容易处理。但是偶尔也会遇到比较复杂的数据。

所以为了降低复杂性,我们通常会数据区分、归类成为一个个的列表,例如:课程表、行程表、电话表等等。python同样具有这样的功能,下面我们将学习到python中列表的定义及操作。


01 今日目标

1. 熟悉列表(list)的创建

2.熟悉列表(list)的基本操作


02 列表初始

list列表 是python内置的一种有序的集合,可以添加、删除其中的元素。

  • list列表 定义:用“[]”定义 用“,”隔开

列表初始化

我们先从简单的列表入手,下面有一组同学姓名:

zhangSan
liSi
wangWu

以python能理解的方式写:

names = ['zhangSan','liSi','wangWu']
list定义解析:
1. 在列表的两边需要用`[ ]`中括号括起来
2. 在字符串数据两边加引号(单引号或双引号),例:在名字两边加引号'zhangSan'或"zhangSan"  
3. 用逗号将多个数据分开'zhangSan','liSi'
4. 使用复制操作 = ,将名字列表复制给 names 变量

查询列表中的元素

  • list列表中的每个元素都分配位置或索引,第一个索引是0,第二个索引是1,依此类推。

用索引来访问list中每一个位置的元素,记得索引是从0开始的:

>>> names = ['zhangSan','liSi','wangWu']
>>> names[0]
'zhangSan'

>>> age = [18,20,25]
>>> age[0]
18
>>> age[1]
20
  • 要注意索引不能超过范围,试一试:
>>> names = ['zhangSan','liSi','wangWu']
>>> names[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

错误:list index out of range,所以,要确保索引不要越界,记得第一个索引是从0开始,最后一个元素的索引是:“列表长度 - 1” 即 names 的列表长度是 3,最后一个索引是 2。

列表截取

>>> names = ['zhangSan','liSi','wangWu']
>>> names[2]
'wangWu'
>>> names[-2]
'liSi'
>>> names[1:]
['liSi', 'wangWu']

解析:

表达式结果解析names[2]'wangWu'读取列表中第三个元素names[-2]'liSi'读取列表中倒数第二个元素names[1:]['liSi', 'wangWu']从第二个元素开始截取列表

添加列表元素

  • 使用 append() 方法,在列表末尾追加数据:
>>> names = ['zhangSan','liSi','wangWu']
>>> names.append('xiaoMing')
>>> names
['zhangSan', 'liSi', 'wangWu', 'xiaoMing']
  • 使用 insert(索引,值)方法,在指定位置插入,比如索引号为1的位置:
>>> names = ['zhangSan','liSi','wangWu']
>>> names.insert(1,'xiaoMing')
>>> names
['zhangSan', 'xiaoMing', 'liSi', 'wangWu']

删除列表元素

  • 使用pop()方法,删除列表末尾的元素:
>>> names = ['zhangSan','liSi','wangWu']
>>> names.pop()
'wangWu'
>>> names
['zhangSan', 'liSi']
  • 使用pop(索引)方法,删除指定位置的元素:
>>> names = ['zhangSan','liSi','wangWu']
>>> names.pop(1)
'liSi'
>>> names
['zhangSan', 'wangWu']

修改列表元素

  • 使用=直接赋值对应的索引位置:
>>> names = ['zhangSan','liSi','wangWu']
>>> names[1] = 'xiao'
>>> names
['zhangSan','xiao','wangWu']

列表函数

表达式结果描述len([1,2,3])3len() 获取列表长度max([1,2,3])3max() 获取列表最大值min([1,2,3])1min() 获取列表最小值[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]+ 组合


03 列表进阶

列表混合类型

python列表中可以混合数据类型,即在同一个列表中混合存放字符串、数字、列表、等等(任意类型)。

试一试:

向names列表names = ['zhangSan','liSi','wangWu']中插入相应的年龄,改变列表,使之成为下面的形式['zhangSan',18,'liSi',20,'wangWu',26]

解答:

>>> names = ['zhangSan','liSi','wangWu']
>>> names.insert(1,18)
>>> names
['zhangSan', 18, 'liSi', 'wangWu']

>>> names.insert(3,20)
>>> names
['zhangSan', 18, 'liSi', 20, 'wangWu']

>>> names.append(26)
>>> names
['zhangSan', 18, 'liSi', 20, 'wangWu', 26]

恭喜你,到这里列表的基本操作已经学会了。不要松懈下面将讲解实际中经常出现的一种形式,多维列表。

多维列表

上面讲列表中可以混合数据类型,例如:列表中包含另一个列表(二维数组)。

>>> names = ['zhangSan','liSi',['xiao','ming'],'wangWu']
>>> len(names)
4

解析:注意列表names的长度只有4个,其中包含一个列表['xiao','ming']。下面进一步拆解:

>>> nameA = ['xiao','ming']
>>> nameB = ['zhangSan','liSi',nameA,'wangWu']
>>> nameB
['zhangSan', 'liSi', ['xiao', 'ming'], 'wangWu']

好,现在需要获取'ming'需要怎么做?

要拿到ming先要找到nameA所在nameB中的索引“2”,然后在nameA中ming的索引“1”,即:nameB[2][1]


04 小结

  1. 列表创建:使用"[]"中括号包裹,用“,”英文逗号分隔。
  2. 列表是一种有序的数据集合。
  3. 列表的基本操作包括查询、修改、删除。

NOW现在行动! 晓明兄,现在行动


  • 答案:xiao
  • 原题: 最后一行打印出来的是xiao还是ok呢?a = 'xiao'
    b = a
    a = 'ok'
    print(b)

解析:

1. 执行`a = 'xiao'`,这个时候变量`a`指向了`xiao`

2. 执行`b = a`,这个时候变量`b`也指向了`xiao`,==注意b指向的是 字符串`'xiao'` 并不是 变量`'a'`==

3. 执行`a = 'ok'`,这个时候变量`a`指向了`ok`

如果获取列表中的内容?

names = [
    ['A', 'B', 'C'],
    ['D', 'E', 'F', 'G'],
    ['H', 'I', 'J']
]

问题1:请获取列表中'A'?问题2:请获取列表中'F'?问题3:请获取列表中'H'?

相关推荐

python gui编程框架推荐以及介绍(python gui开发)

Python的GUI编程框架有很多,这里为您推荐几个常用且功能强大的框架:Tkinter:Tkinter是Python的标准GUI库,它是Python内置的模块,无需额外安装。它使用简单,功能较为基础...

python自动化框架学习-pyautogui(python接口自动化框架)

一、适用平台:PC(windows和mac均可用)二、下载安装:推荐使用命令行下载(因为会自动安装依赖库):pipinstallPyAutoGUI1该框架的依赖库还是蛮多的,第一次用的同学耐心等...

Python 失宠!Hugging Face 用 Rust 新写了一个 ML框架,现已低调开源

大数据文摘受权转载自AI前线整理|褚杏娟近期,HuggingFace低调开源了一个重磅ML框架:Candle。Candle一改机器学习惯用Python的做法,而是Rust编写,重...

Flask轻量级框架 web开发原来可以这么可爱呀~(建议收藏)

Flask轻量级框架web开发原来可以这么可爱呀大家好呀~今天让我们一起来学习一个超级可爱又实用的PythonWeb框架——Flask!作为一个轻量级的Web框架,Flask就像是一个小巧精致的工...

Python3使用diagrams生成架构图(python架构设计)

目录技术背景diagrams的安装基础逻辑关系图组件簇的定义总结概要参考链接技术背景对于一个架构师或者任何一个软件工程师而言,绘制架构图都是一个比较值得学习的技能。这就像我们学习的时候整理的一些Xmi...

几个高性能Python网络框架,高效实现网络应用

Python作为一种广泛使用的编程语言,其简洁易读的语法和强大的生态系统,使得它在Web开发领域占据重要位置。高性能的网络框架是构建高效网络应用的关键因素之一。本文将介绍几个高性能的Python网络框...

Web开发人员的十佳Python框架(python最好的web框架)

Python是一种面向对象、解释型计算机程序设计语言。除了语言本身的设计目的之外,Python的标准库也是值得大家称赞的,同时Python还自带服务器。其它方面,Python拥有足够多的免费数据函数库...

Diagram as Code:用python代码生成架构图

工作中常需要画系统架构图,通常的方法是通过visio、processon、draw.io之类的软件,但是今天介绍的这个软件Diagrams,可以通过写Python代码完成架构图绘制,确实很co...

分享一个2022年火遍全网的Python框架

作者:俊欣来源:关于数据分析与可视化最近Python圈子当中出来一个非常火爆的框架PyScript,该框架可以在浏览器中运行Python程序,只需要在HTML程序中添加一些Python代码即可实现。该...

10个用于Web开发的最好 Python 框架

Python是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还...

使用 Python 将 Google 表格变成您自己的数据库

图片来自Shutterstock,获得FrankAndrade的许可您知道Google表格可以用作轻量级数据库吗?GoogleSheets是一个基于云的电子表格应用程序,可以像大多数数据库管...

牛掰!用Python处理Excel的14个常用操作总结!

自从学了Python后就逼迫用Python来处理Excel,所有操作用Python实现。目的是巩固Python,与增强数据处理能力。这也是我写这篇文章的初衷。废话不说了,直接进入正题。数据是网上找到的...

将python打包成exe的方式(将python文件打包成exe可运行文件)

客户端应用程序往往需要运行Python脚本,这对于那些不熟悉Python语言的用户来说可能会带来一定的困扰。幸运的是,Python拥有一些第三方模块,可以将这些脚本转换成可执行的.exe...

对比Excel学Python第1练:既有Excel,何用Python?

背景之前发的文章开头都是“Python数据分析……”,使得很多伙伴以为我是专门分享Python的,但我的本意并非如此,我的重点还是会放到“数据分析”上,毕竟,Python只是一种工具而已。现在网上可以...

高效办公:Python处理excel文件,摆脱无效办公

一、Python处理excel文件1.两个头文件importxlrdimportxlwt其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入。2.读取exce...

取消回复欢迎 发表评论: