首页 > 其他分享 >列表与字典学习笔记

列表与字典学习笔记

时间:2023-10-03 11:35:19浏览次数:59  
标签:letters 元素 笔记 列表 索引 分片 字典

python中要想用对象做某种处理,需要这个对象的名字(变量名),然后是一个点,再后面是要对对象做的操作。如要向friends列表zhui追加一个元素,就要写成: friends.append(something)

列表:

列表可以包含python能存储的任何类型的数据(数字,字符串、对象,甚至其他列表)

列表中的元素并不要求元素是同种类型或同一种东西,一个列表中可以同时包含不同类型

列表元素索引(index)号从0开始

建 增 插 提 改 搜 删 排序 切(分片)

建 :

创建空列表 如 list=[]

增:

append() 追加(把一个东西加在最后面)元素

扩展:

extend() 在列表末尾增加多个元素(注意其方法中圆括号中是一个列表,列表有一个中括号)

插:

insert()会在列表某个位置增加一个元素,原来那个位置的元素会向后推一个位置,后面元素依次向后移一个位置。letters.insert(2,'c') 向letters列表的索引2位置中插入'c'

提:

list[] 利用中括号中按索引号提取列表元素

删:

remove()从列表删除指定元素,后面元素向前移一个位置(如没有该元素会报错)

del用索引从列表中删除元素 如del letters[3] 删除letters列表中索引3(第4个)的元素

pop()从列表中弹出最后一个元素,原列表删除该元素,另外该方法可以提供一个索引

括号中没有参数,pop()返回最后一个元素,并把它从列表中删除。有参数,pop(n)会给出这个索引位置上的元素,而且会把它从列表中删除。

搜:

要找出某个元素是否在列表中,可以用in关键字,如 if  'a' in letters:

查找索引

index()可以找出一个元素位于列表中的位置,同remove()一样没有找到这个元素会报错

letters.index('d') 表示列表letters中元素d的索引号

列表可作循环迭代处理

排序:

列表是一种有顺序的集合

sort()会自动按字母顺序对字符串从小到大排序,数字同理

注意sort()会在原地修改列表,会改变原始列表,变为一个有序列表。如需要保留原列表,需要创建列表副本。

而函数sorted()会得到一个有序列表副本,即不改变原列表

列表分片(切):

对列表分片时取回的是另一个(通常更小的)列表,对其称为分片。原来的列表没有改变。这个分片是原列表的部分副本

分片简写:

与for循环中range()类似,分片获取元素时,会从第一索引开始,在达到第二个索引之前停止。 取回项数总是两个索引数之差

如想要分片开始部分,使用冒号后面是想要的元素个数

如果没有放入任何数只有冒号,就可以得到整个列表的副本,对副本修改不会影响原列表

改:

可用索引来修改某个列表元素,但不能用索引向列表增加新的元素

 

可改变(mutable)与不可改变(immutable) 

python中

不可改变的:数字、字符串

可改变的:列表

元组:不可改变的列表,不能对其完成排序,也不能追加和删除元素

 

数据结构:一种在程序中收集、存储或表示数据的方法。实际上数据结构表示程序中数据的组织方式。

字典:

字典中的每个项(item)都有一个键和一个值,合起来称为键值对,字典就是一些键值对的集合。

建:

dict={}

增:

dict[''a'']='1234'

使用方括号指定要找的条目的键。整个字典本身还是被包裹在花括号中。

字典与列表相似点:

字典和列表都可以包含任意类型的条目(包括列表和字典),你可以有一个包含数字、字符串、对象甚至其他集合的集合

两者都提供了在集合中查找条目的方法(列表用索引,字典用键)

不同点:

列表有顺序,按顺序添加就会保持顺序,还可以对列表排序

字典是无序的

列表和字典也属对象,故列表和字典都有使用点号表示法来使用的方法。

key()方法会列出字典中所有的键(输出为列表)

values()方法会列出字典中所有的值(输出为列表)

字典的键只可以使用不可变类型(布尔、整数、浮点数、字符串和元组),不能用列表或字典(可变型)来当作键

删除:

del dict['a'] 删除字典中一个条目

clear()方法会删除字典所有条目(清空字典)

使用in确定某个键在字典中是否存在

标签:letters,元素,笔记,列表,索引,分片,字典
From: https://www.cnblogs.com/merlin-lan/p/16474670.html

相关文章

  • 6.1字典的定义
    None什么都不是80 是设置了一个值 ......
  • 6.3循环遍历字典数据
      ......
  • vue 学习笔记
    https://www.bilibili.com/video/BV13m4y1Y7MD安装vuecli1安装 node.js要求node.js12+版本, https://nodejs.org/zh-cn 首页下载安装lts版本,如果已安装就覆盖安装vscode终端或cmd中输入npm--vesion  node--v可以查看是否安装成功npm(nodepackagemanager):no......
  • 用户故事与敏捷开发 读书笔记 02
    阅读用户故事与敏捷开发的后边几章,搜集故事这一章,我们经常有一种错觉:“需求本来已经存在了,我们只是让客户给我们解释需求,然后把他们锁入一个笼子里就可以了。”事实上,用户并不知道所有的需求。让我们像捕鱼一样去捕获需求:首先,不同大小的网捕获不同大小的需求。第一遍,用大网眼捞一......
  • destoon 列表页面增加手动选择排序方式
    在mobile/include/mall.inc.php 行60 $order=$MOD['order'];  之前增加排序方式判断如果有order参数则$order接受参数,没有就用默认  $order=$MOD['order'];  1、增加排序以后的mobileurl函数,伪静态规则  ViewCode 伪静态规则 ViewCode  2、模......
  • 我个人今年csp/noip赛前复习列表:
    Part1、图论:1*、3种tarjan2、dij算法:暴力写法和heap优化3*、Prim算法:暴力与heap优化4、Floyd算法+矩阵5、直径求法(dp+dfs)与性质6、树的重心(dp求法)7*、差分约束系统建模方式8*、二分图相关问题9*、Dinic算法板子(骗分)10、基环树的一些常见写法(估计不会考)Part2、数据结构:......
  • openGauss学习笔记-87 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-M
    openGauss学习笔记-87openGauss数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用简单概述使用MOT非常简单,以下几个小节将会进行描述。openGauss允许应用程序使用MOT和基于标准磁盘的表。MOT适用于最活跃、高竞争和对吞吐量敏感的应用程序表,也可用于所有应用程序的表。......
  • SQLite学习笔记——创建数据库和SELECT,INSERT语句
    SQLite创建数据库我们可以直接使用sqlite3DatabaseName.db来创建数据库,这时候我们就会发现同一目录下出现了对应的.db文件或者我们可以先启动sqlite3然后在里面使用点命令.openDatabaseName.db来创建数据库,如果已经存在对应的数据库,那么我们默认就会打开该数据库。......
  • 通过linux0.11学习操作系统原理--Apple的学习笔记
    一,前言最近在断断续续的看linux0.11的源码介绍,主要是了解linux操作系统的原理,之前已经了解了进程的切换主要是cpu上下文切换+虚拟内存切换。今天我主要看了下改开始linux启动的进程0,1,2。二,分析先回顾了之前的问题LDT和GDT的区别?   GDT用作内核态的代码和数据段,LDT用作用户进......
  • [官方培训]10-UE实时渲染后期 李文磊 Epic 笔记
    实时渲染后期什么是后期需求:快速地基于镜头对最终画面内容及形式(节奏,色调,气氛)的控制传统后期:像素UE后期:像素和对象UE后期UE后期对象:对象和像素(Buffer)对象调节:光影,材质,特效,雾效,Sequencer像素Buffer处理:AA,相机及镜头效果,ColorGrading,Tonemapping,PPM,Decal,Translucency,Compo......