python提供的容器有四种 列表(list)、 元组(tuple)、 集合(set)、字典(dict)。 容器是可以存放多个元素的一种数据类型,补充变量无法存储大量数据的缺陷。 列表 python的列表基于双向链表来实现。列表中的每一个我们称之为元素。列表中的元素是可以不按顺序排列的。每一个元素都有其下标,所有容器中的第一个元素的下标都是0,而不是1.在访问或修改列表中的元素时,可以通过下标来访问以及修改。 想要遍历容器有两种方式,while循环或for循环。其遍历的方式分别如下: while循环: for循环: 遍历容器的目的即检查该容器中的所有元素。 列表的常用方法有: append() ---- 向列表尾部追加元素 insert() ---- 向指定的位置追加元素 sort()---- 排序(一般用来排序数字) ls2.sort() 排序并且翻转 ls2.sort(reverse=True) index() ----查找元素第一次在列表中出现的位置,如果没有这个元素,则抛出异常 reverse()----- 将列表元素顺序翻转 ls.reverse remove()----- 通过元素来移除元素,注意,如果元素不存在,则抛出异常 a.remove(100) #移除的是元素而不是下标 count() ----- 统计元素个数 clear()---- 清除元素 copy() ---- 浅拷贝对象,是在堆内存中进行对象拷贝的 extend(可迭代对象)---- 合并列表 pop()----- 删除最后元素,并返回这个元素
集合的创建方式为: s=set() 要注意的是如果()+{ 集合中的元素}来创建集合,只有()和{ }都存在才是集合。如果只有{ }则是一个字典。 且集合中的元素必须是唯一的,不可重复。 集合的常见方法有: clear ----清空集合 remove ----替换元素 copy ----浅拷贝 add ----增加元素 difference----- 差集 intersection---- 交集 union ----并集 update----- 更新集合,合并集合 discard---- 移除元素,但是如果不存在,则不做任何操作 **元组(tuple)😗*元组是一种不可变的数据类型。 元组重点元素不允许被修改和改变。 元组的定义:t=() #定义元组,但是不推荐,元组不可变 t=(“春”,“夏”,“秋”,“冬”)#定义是初始化值 t=tuple(()) t1=tuple((1,2,3,4,5)) t1=tuple([1,2,3,4,5]) t1=tuple({1,2,3,4,5}) 三种容器都可以使用对应的函数完成转化
常见方法: |–count #统计元素个数 |–index #查询元素所在的索引
字典(dict):dictionary,是一种使用key-value键值对的结构存储数据的 Python中key不能重复,否则会覆盖数据 key的类型只能是字符串,value类型任意 d={“key”: “值”,“key2”:“xxx” } d={“name”: “lyl”, “age”: “16”} 如何访问字典值:使用字典中 的key获取key对应的值 d["name "] #获取name对应的值,如果key不存在,则抛出异常 d.get(“name”) #也可以使用get方法,如果key不存在,则返回None
字典的常用方法: |-- clear |–copy |–fromkeys() #将其他可迭代对象转换为字典 d.fromkeys([1,2,3,4,5],66) |-- get |–items() #迭代出每一个键值对[ ( ),( ) ] |–keys() |–value() |–setdefault #新增key和value d.setdefault(“telphone”,“123456”) |–pop( key) #通过key,删除key对应的键值对 d.pop(“tle”) |–popitem( ) #运用后进先出的规则进行删除( last - in ,first - out) d.popitem( ) |–update
字符串对对象的使用 字符串对象: 1、具有特殊含义,被引号(单、双、三)引起来的就是字符串 2、s =’ this is a string’ ss=“这是一个字符串” “”" sss=这个也是 “”" s1=str(" “) 3、字符串是一个有序的序列,同样可以通过下标来访问每一个字符 s1[ 1 ] #可以访问到下表为1的 也可以用for循环迭代字符串 for i in s1: print( i ) 在Python中,字符串和元组一样,是不可变数据类型 4、字符串的常见方法: |–capitalize( ) #首字母大写 ss = s.capitalize( ) |–center( width) #居中对齐 s.center (20 ,”*") " this " |–count() #统计字符出现的次数 |–encode #将字符转化为字节 ss =s.encode(“utf-8”) ##【|–byte.decode( ) #将字节转化为字符】字符中不用 |–endswith( ) #判断以xxx结尾 |–startswith #判断以xxx开头 |–find #查询元素首次出现索引,如果不存在,则返回-1 |–index #查询元素首次出现索引,如果不存在,则抛出异常 |–format () #格式化字符串 |–isalnum() #字符串是否有大小写字母、数字组成 |–isalpha() #字符串是否有大小写字母组成 |–isascii() #是否都在ASCII表中 |–isdigit() #判断是否数字 |–isidentifier() #有效符号() |–islower() #是否都有小写组成 |–isupper() #是否都有大写组成 |–istitle() #判断是否是标题 |–lower() #转小写 |–upper() #转大写 |–rindex() #查找最后一个 |–rfind() # |–strip() #清除两边空格 |–lstrip() #清除左边空格 |–rstrip() #清除右边空格 |–join() #将序列按照特定的规则,拼接成字符串 |–split() #按照特定的规则分割字符串,返回的列表 |–maketrans( ) #可制定一个密码本 s.maketrans({ “a” : “c” ,“b” : “1” , “h” : “m”} ) |–translate( ) #对应密码本进行加密
排序方法; 1、冒泡 bubble_sort 2、选择 select_sort 3、插入 insert_sort def insert_sort( my_list ) … insert_sort([ 1,3,-5,8,11,-34])