Python容器解析

1、容器(container、collection)
       
  存储大量数据的一种数据类型
2、python中提供了哪些容器?
 
  list         列表
    set         集合(所储数据不能重合)
    tuple     元组
    dict       字典(介质的对比)

列表:(线性表)
     python提供的列表这种容器,是一种线性结构的存储空间(数组是连续的代数,python中没有数组,数组是一种连续的内存)

数组:内存中一块连续的内存空间
(数组是连续的,可以重复)
    优点:查询速度快,通过索引迅速检索对应的值
    缺点;增删改的效率较低

链表:不是连续存储
    优点:曾删改的效率相对与数组较高
    缺点:查询速度慢

python中的列表容器就是基于双向链表结构设计的(Java中LinkedList)

列表的定义:列表是Python中最基本的数据结构
列表中的每个元素都分配一个位置,一个元素对应一个位置
访问List的元素(element)
     通过下表访问,注意:从0开始
     ls3[2] = 100    #修改元素的值
弱数据类型语言的特点:
1、 ls = []
2、 ls2 = list()
3、 list3 = list([1,2,3,4,5,6,7]) # list3 =[1,2,34,4,5,6]

如何遍历list:
for   i   in    list 

list的常见方法:[‘append','clear','copy','count','extend','index','insert','pop','remove','reverse','sort']

1、ls.append(元素)     #在尾部追加一个元素
2、ls.insert(索引位置,元素) #在特定位置,添加元素
3、ls.clear()      #清除列表
4、ls.count()    #统计元素出现的次数
5、ls.index()     #查询元素首次出现的引索,如果不存在,则抛出异常
6、ls.reverse()   #翻转列表顺序
7、ls.copy()    #栈拷贝对象(堆复制对象)  
8、ls.remove()    #元素移除
9、ls.pop([index])    #默认删除最后一个元素,如果指定位置,则删除对应位置的元素
10、ls.extend(可迭代对象)    #合并列表
11、ls.sort()     #排序   (小到大)
ls.sort(reverse=Ture)   #(大到小排序)

常见的线性表:

多维列表:[ [ ], [ ] , [ ], [ ] ]

Set(集合):也是python提供的一种容器
                     特点:无序、元素不能重复

1、怎末定义set合集
s={}(不能为空集)
 s={1,2,3.....}
>>>s={1,2,3}
>>>type(s)
<class'set'>
>>>s
[1,2,3]

set中不能存放重复的数据

s=set()
s=set({元素1,元素2,......})
s=set([元素1,元素2,......])  #将list转换为set对象
ls=list({元素1,元素2,......})  #将set转换为list对象

2、通过官方提供的方法来操作:

1、1--ls.clear()      #清除列表
2、1--pop()     #随机移除
3、1--intersection #交集   
             s.intersection(ss):s和ss的交集
4、1--union       #并集
                s.union(ss):s和ss的并集
5、1--add      #添加元素
                     s.add(55):表示添加55这个元素 
6、1--difference   #差集
7、1--remove()  #移除元素(移除的元素不存在                                ,抛出异常,进行提示)    
8、1--discard()     #删除元素(移除的元素不存在                                ,没有任何解释,不运行)   
9、1--update(s,sss)   #合并集合s和sss

元组(tuple):
    元组是一种不可变的数据类型。(不可变:元组中间元素不允许被修改和改变)。

元组定义:

   t=()   #定义元组,但不推荐使用,因为元组不可 变

   t=(“春”,“夏”,“秋”,“冬”)  #建议定义时初始化值
   
   t= tuple( ( ) )   #直接定义元组

注意:三种容器都可以使用对应的函数完成转换
 

字典(dict);
  dictionary,是一种使用key-value键值对的结构存储数据的(python中key不能重复,否则会覆盖数据)

(key的类型只能是字符串,value类型任意)

如何访问字典值:
   使用字典中的key获取key对应的值
  d["name"]       #获取name对应的值,如果该key不存在,则抛出异常 
 
字典常用方法: 

1、1--count      #统计元素个数
2、1--index      #查询元素所在索引

3、|--fromkeys()  #将其他可迭代对象转换为字典

d.fromkeys(["1","2","3"])转换为字典形式

4、|--get()         #如果key中不存在所查对象,则返回None
5、|--items        #迭代出每一个键值对[ ( ),( ) ]
6、|--keys         #f返回所有键
7、|--value       #返回所有值
8、|--setdefault #新增key和value
9、|--update      #合并字典
10、|--popitem   #(Pair  are returned in LIFO(last-in,first-out)order随机移除
11、|--pop(key)    #通过key对应的键值对

                                       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值