列表与字典学习笔记

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确定某个键在字典中是否存在

posted @ 2023-10-03 11:06  mink007  阅读(6)  评论(0编辑  收藏  举报