Python:常用容器的简单说明与例子

list:

动态集合,属于链式储存结构,擅长增删,不擅长查找,有序。

例子:

创建:l=[1,2,'s']

增:append()  该api只能将元素添加在最后一位

L.insert(引索, '要添加的信息')  添加到指定的引索位置

删:pop()    该函数有重载,当无参时默认删除最后一个元素,有参数时,参数作为集合中指定的引索位置值 

也就是删除指定引索的元素

改:直接更改引用就ok,例如这样

l[521,487,94,66]

将l集合中的第二个元素改为111

代码为:  l[1]=111
更多内容:https://www.runoob.com/python/python-lists.html

 

tuple:

属于顺序储存结构,擅长查找,不擅长修改,有序。

创建:t=(0,1,2,,"c") 建单个元素的tuple集合时记得加一个逗号,不然会被认为是算术里的优先级,这样:t=(1,)

tuple被称为只读列表,即数据可以被查询,但不能被修改,当元素作为单个变量时是不能改,但是如果元素是list时,是可以修改元素内容的。

增:常规的函数增添元素是不可能的,但是可以对两个tuple进行连接 t1=(1,2,3)  t2=(4,5,6)

t=t1+t2    原理是重新申请一块空间存放t1与t2的元素。

删除:del()删除整个tuple。

详细内容:https://www.runoob.com/python/python-tuples.html

 

dict:

使用2种储存结构,哈希表和链式储存结构,使用哈希表存储每个键的哈希值,查找时对比哈希值,改时用链式,增删改查都快,缺点是占内存,无序。

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个会覆盖掉前一个。

2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。

创建:d={'a':1,'b':2,'c':3}
增:d["d"]=4

删:del d['a']

改:d['a']=5,如果键存在,则会修改值的内容,如果输入的键不存在则会添加新键值对。

查:d['a'],如果存在则会返回值的内容,如果不存在则会报错。 也可以用这个方法dict.has_key(key)

详细内容:https://www.runoob.com/python/python-dictionary.html

set:

早期的2.x版本似乎是没有set这个集合的,后来才加入的,目前我使用的2.7.14版本支持set

所以在2.7.14先创建为list[]再转换为set

特点:无序,增删和查询都较快,,唯一性。

创建:a=set[('a','b','c')]  Python3之后可以直接set()不需要加方括号

增:s.add( 'x')

删:s.remove( 'x' )#不存在会报错

s.discard( x )#不存在不会报错

改:由查删增组合而成,如果存在则不需要操作,如果不存在则添加,如果想将某个指定元素修改则需要由删增组合。

查:x in s   元素s是否在s中,返回布尔值

详细内容:https://www.runoob.com/python3/python3-set.html 看的时候注意Python版本。

 

好了,就这样,写出来只是为了方便查询。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值