python教程十 列表

news2024/11/18 17:45:17

列表

序列是 Python 中最基本的数据结构。

序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。

Python 有 6 个序列的内置类型,但最常见的是列表和元组。

列表都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = ['Google', 'Baidu', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']

访问列表中的值

与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。

通过索引列表可以进行截取、组合等操作。

在这里插入图片描述

#!/usr/bin/python3

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )

以上实例输出结果:

red
green
blue

索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。
在这里插入图片描述

#!/usr/bin/python3

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )

以上实例输出结果:

black
white
yellow

使用下标索引来访问列表中的值,同样你也可以使用方括号 [] 的形式截取字符,如下所示:

在这里插入图片描述

#!/usr/bin/python3

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])

以上实例输出结果:

[10, 20, 30, 40]

使用负数索引值截取:

#!/usr/bin/python3
 
list = ['Google', 'Baidu', "Zhihu", "Taobao", "Wiki"]
 
# 读取第二位
print ("list[1]: ", list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2])

以上实例输出结果:

list[1]: Baidu
list[1:-2]: [‘Baidu’, ‘Zhihu’]

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用 append() 方法来添加列表项,如下所示:

#!/usr/bin/python3
 
list = ['Google', 'DYF', 1997, 2000]
 
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
 
list1 = ['Google', 'DYF', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)

以上实例输出结果:

第三个元素为 : 1997
更新后的第三个元素为 : 2001
更新后的列表 : [‘Google’, ‘DYF’, ‘Taobao’, ‘Baidu’]

删除列表元素

可以使用 del 语句来删除列表的的元素,如下实例:

#!/usr/bin/python3
 
list = ['Google', 'Baidu', 1997, 2000]
 
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)

以上实例输出结果:

原始列表 : [‘Google’, ‘Baidu’, 1997, 2000]
删除第三个元素 : [‘Google’, ‘Baidu’, 2000]

Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ")1 2 3迭代

Python列表截取与拼接

Python的列表截取与字符串操作类型,如下所示:

L=[‘Google’, ‘Caiyua’, ‘Taobao’]

操作:

表达式描述结果
L[2]‘Taobao’读取第三个元素
L[-2]‘Caiyua’从右侧开始读取倒数第二个元素: count from the right
L[1:][‘Caiyua’, ‘Taobao’]输出从第二个元素开始后的所有元素
>>>L=['Google', 'Caiyua', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Caiyua'
>>> L[1:]
['Caiyua', 'Taobao']
>>>

列表还支持拼接操作:

>>>squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>

嵌套列表

使用嵌套列表即在列表里创建其它列表,例如:

>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

列表比较

列表比较需要引入 operator 模块的 eq 方法

# 导入 operator 模块
import operator

a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))

以上代码输出结果为:

operator.eq(a,b): False
operator.eq(c,b): True

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java基础巩固-宇宙第一AiYWM:为了维持生计,四大基础之OS_Part_3_Linux整起(Linux常见命令操作、Shell)

OS的一些基本概念简介,在下面两篇中已经介绍了一些: OS_Part_1整起(进程线程协程并发并行、进程线程切换进程间通信、死锁\进程调度策略、分段分页、交换空间、OS三大调度机制)OS_Part_2整起~IO们那些事【包括五种IO模型&#xf…

爬虫内容学习-工具类---xpath-1

爬虫学习建议: 在编写python爬虫程序时,只需要做以下两件事: 发送GET请求,获取HTML [第一类]解析HTML,获取数据 [第二类] 这两件事,python都有相应的库帮你去做,你只需要知道如何…

ubuntu20.04 搭建kernel调试环境第四篇--图形化调试kernel

一、安装eclipse 1)官网下载对应的版本(eclipse-inst-jre-linux64.tar.gz) Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects... 2)…

群集【LNMP+SSL+nfs+负载均衡及高可用】

目录 🦐web1部署 🍁创建证书 🍁创建论坛 🦐mysql部署 🦐php部署 🦐nfs部署 🍁创建共享目录 🍁挂载目录 🦐LNMP测试 🦐web2部署 🦐lb1部署 &#x…

资料:成为全栈dApp开发者的学习计划

资料:成为全栈dApp开发者的学习计划 本篇介绍与区块链和去中心化应用程序有关的一切。 前提条件 任何面向对象编程语言的基础知识。Node.js和Npm。前端基础知识。如果你有兴趣做一个全栈的去中心化应用,而不仅仅是智能合约。 流程 去中心化技术和区块…

Mybatis:Mybatis动态SQL(8)

动态SQL1. 动态sql简介2. if3. where4. trim5. choose、when、otherwise6. foreachforeach实现批量添加foreach实现批量删除7. SQL片段8. 总结1. 动态sql简介 Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句…

CAS介绍

CAS介绍一、什么是CAS二、CAS是怎么实现的三、CAS应用场景3.1 实现原子类3.2 实现自旋锁四、CAS的 ABA问题4.1 什么是ABA问题4.2 ABA问题引来的bug4.3 解决方案一、什么是CAS CAS:全称Compare and swap,字面意思:“比较并交换”。一个 CAS 涉…

基于Oracle数据库的学生信息管理系统的设计与开发(JSP)

目 录 1 引言 1 1.1 课题来源及意义 1 1.2 研究内容与目标 1 1.3 本文的内容结构 2 1.4 本章小结 3 2 需求分析 4 2.1 系统功能需求 4 2.2 系统的性能需求 4 2.3 系统数据要求 5 2.4…

Linux恶意攻击自查方案

用户及用户文件检查 (1)passwd文件 文件权限 /etc/passwd默认权限为644,其最小权限为444,首先应对该文件权限进行检查,以确认配置是否正确: ls -l /etc/passwd 用户检查 查看passwd文件内容&#xff…

浅谈电缆行业MES系统解决方案

电缆行业虽然只是一个配套行业,却占据着中国电工行业1/4的产值。它产品种类众多,应用范围十分广泛,涉及到电力、建筑、通信、制造等行业,与国民经济的各个部门都密切相关。电缆还被称为国民经济的“动脉”与“神经”,是…

Guice + Jersey + Jetty 框架 - 学习笔记

因项目使用 Guice Jersey Jetty 框架,所有进行了学习,下面是学习笔记。 目录 一、Guice 1. 依赖注入方式: Inject 2. 依赖绑定(依赖注册): bind() 3. 作用域 4. 基本使用 二、Jersey 使用内置容器为例(使用J…

[附源码]Python计算机毕业设计单位库房管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

老公下班要跟我学测试,35岁3娃全职宝妈的逆袭之路

马上35了,当了5年全职宝妈,看起来我应该是幸福的,公婆一直在帮忙带娃,老公也舍得给我花钱,愿意把钱全都交给我,在家里不用做饭,家务有人帮把手,主要就是带娃。我应该是幸福的&#x…

说说真实Java项目的开发流程,以及面试前的项目准备说辞

介绍项目是必不可少的Java面试环节,求职者需要借此证明自己真实Java项目的经验,如果再做的好的话,需要借此展开自己的亮点说辞。 不过之前如果只有学习项目经验,比如是自己跑通一个项目,或者是在培训班里通过一个Sprin…

Centos7:Postgresql 14安装

文章目录安装Server配置数据目录创建数据存储目录配置环境变量,数据目录Reload systemd初始化DB启动数据库安装模块包postgresql14-contribpostgresql14-devel安装Server sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64…

(附源码)ssm高校实验室系统 毕业设计 800008

高校实验室管理系统 摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是使用动态网页开发技术JSP,J…

前端js实现canvas压缩图片并上传

一. 上传前压缩图片的好处 可以减少用户的等待时间,提升使用体验,目前手机拍摄的图片文件大小一般在几 M 左右,文件直接上传时会有卡顿现象。可以减少服务端的存储空间。再次回去图片资源是也可以快速的加载。虽然目前阿里云的 oss 有相对应…

NPDP在国内有多少含金量?

产品经理国际资格认证,New Product Development Professional(NPDP),由美国产品开发与管理协会(PDMA)所发起,是国际公认的唯一的新产品开发专业认证。是考察产品经理能力的证书。(npdp产品经理资料文末&…

文本生成图像简述3--杂谈技术难点、研究意义、应用领域和目前的局限性

文本生成图像(text-to-image)指的是使用人工智能技术将文本转换为图像的过程,其可以根据给定文本生成符合描述的真实图像,其是多模态机器学习的任务之一,具有巨大的应用潜力,如视觉推理、图像编辑、视频游戏…

如何解决 Redis 数据倾斜、热点等问题

Redis 作为一门主流技术,应用场景非常多,很多大中小厂面试都列为重点考察内容 前几天有小伙伴学习时,遇到下面几个问题,来咨询 考虑到这些问题比较高频,工作中经常会遇到,这里写篇文章系统讲解下 问题描…