python学习笔记4(数据容器)

1.数据容器类别

列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)

2.列表(list)

格式:

[元素1, 元素2, ......]

储存的数据类型是可以不一样的,支持嵌套.

下标索引:从0开始

反向索引:从后往前,从-1开始

3.列表(list)中的方法

查找某元素的下标:list.index(元素),找不到报错为ValueError

修改元素值:list[0]="xxx"

插入元素:list.insert(1,"yyy")    在下标为1的位置插入指定元素yyy

追加单个元素:list.append(元素)    将元素添加到列表尾部

追加一批元素:list.extend(其他数据容器)   将其它数据容器的内容取出来,依次追加到列表尾部。

删除元素:

  del 列表[下标]

  list.pop(下标)     有返回值,返回删除的哪个元素值

  list.remove(元素)

清空列表:list.clear()

统计某个元素在列表中的数量:list.count(元素)

统计列表中一共有多少个元素:len(list)

4.元组(tuple)

 元组一旦定义完成,就不可以被修改。适用于需要在程序中封装数据,又不希望封装的数据被纂改。

定义:(x1, x2, x3, ......, xn)

注意:如果只有一个元素,也要写上逗号,如  t = ("Hello",)

注意:元组里的元素是不可以修改的,但是如果元组里面嵌套了一个list,list里面的元素是可以修改的。

 

 

 5.字符串(str)

字符串和元组一样,是不可以修改的,如果修改的话,只能是得到一个新的字符串。

查找:str.index(str1)

替换:newstr = str.replace(str1, str2)     将str里面的字符串1全部替换成字符串2,str本身是不会被修改的。

分割:str.split(str1)     按照str1(作为分割字符)将字符串划分成多个字符串,并存入列表中,str本身不会被修改,只是得到一个列表。

出现次数:str.count(str1)  在str中str1出现的次数

计算长度: len(str)    返回str字符串的长度

规整:

1、str.strip()     去除前后空格

2、str.strip(str1)     按照str1里面的所有单个字符,都会被去除

 

 

 

 

 

 6.序列

序列是指内容连续,有序,可以使用下标索引的一个数据容器。

列表、元组、字符串都是可以作为序列的。

切片:序列[起始下标:结束下标:步长]   

起始下标和结束下标可以不写,表示从头到尾,最后一个也会被算进去的,步长也可以不写,默认为1.

步长:依次取元素的间隔,可以是正数也可以是负数,负数则是从后面开始数,如果是-1,等同于将序列反转了。

注意:取的时候从起始下标开始,但是结束的时候不包括结束下标它本身!

 

 

 7.集合(set)

集合不支持元素重复,而列表、元组、字符串都支持元素重复。

定义集合时,会自动去重,且元素的顺序和原来不一样(无序的),不支持下标索引访,问,所以遍历的时候,不能用while循环进行遍历。

定义:{元素1, 元素2, ......, 元素n}

添加新元素:set.add(元素)

移除元素:set.remove(元素)

随机取元素:set.pop()  有返回值,set集合里面中的这个元素也被除去了

清空:set.clear()     set():空集合

取出两个集合的差集:set1.difference(set2)   取出set1和set2的差集(set1中有,但是set2里面没有的),返回一个新的集合,set1和set2不变

消除两个集合的差集:set1.difference_update(set2)   在set1里面,删掉和set2相同的元素,set1被修改,set2不变。

合并两个集合:set1.union(set2)  将set1和set2合并,返回一个新集合,set1和set2本身不变。

8.字典(dict)

通过Key找到对应的Value,Key是不可以重复的,重复会被覆盖掉,没有下标索引。

定义:{Key1:Value1, Key2:Value2, Key3:Value3, ......,Keyn:Valuen}  储存的是键值对

定义空字典:{}  或者  dict()

获取数据:dict[Key1]  返回值就是Value1的值

嵌套:Key的数据类型不能为字典,Value可以为字典

新增/更新:dict[Key]=Value   如果Key存在,则Value值被更新,如果不存在,则新增元素。

删除元素:dict.pop(Key)  返回Key的Value值,同时Key的数据被删除

清空字典:dict.clear()   

获取全部的Key:keys = dict.keys()

遍历字典:

1、for key in keys:   #通过key值遍历

2、for elem in dict:   #直接遍历字典

9.数据容器的通用操作

len(容器)、max(容器)、min(容器)

容器之间的转换:

list(容器) 、tuple(容器) 、set(容器)   注意:字符串转列表\元组\集合(无序,除重)会将字符串中的每个元素都取出来作为列表的元素;字典转列表\元组\集合(无序,除重)值保存了key值

str(容器)    注意:"[1, 2, 3, 4]","(1, 2, 3, 4)",字典的Value也会被保存下来

没有转换成字典,原因是没有键值对

排序: 注意:排序后的结果都变成了列表对象

1、sorted(容器)   正向排序  (升序)

2、sorted(容器, reverse=True)  反向排序(降序)

 

posted on 2022-12-02 20:59  201812  阅读(46)  评论(0)    收藏  举报