Python容器详解

容器(collection
|-- list 列表 底层是基于双向链表实现的
|-- set 集合 无序,不重复 hash
|-- tuple 元组
|-- dict 字典

list:

        线性表的实现:数组(array)、链表(list)、栈(stack)、队列(queue)(python中没有数组,c才有)

         

#定义数空组,元素用“,”隔开。
list=[]


#每一个元素都有下标,可以通过下标来取值。
#下标从0开始,到元素个数-1截止。
list=["a","b"]
ans=list[0]
#此时,ans="a"


#列表的遍历要使用循环:
list=["a","b"]
for i in list:
    print(i)
#每一次循环都会按顺序拿取元素。
#分别为"a"和"b"。


其他常用操作:
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
	 |-- append(元素) # 将元素追加到list的末尾位置
	 |-- clear()  # 清空列表
	 |-- copy()  # 复制对象(浅拷贝对象)
	 |-- count()  # 统计元素在列表中出现的次数
	 |-- extend()  # 将一个列表合并到另外一个列表中
 	 |-- index()  # 查找元素在列表中的第一个索引位置,如果不存在,则抛出异常
	 |-- insert(index, item) # 插入元素,第一个参数是位置
	 |-- pop([index]) # 根据索引移除元素,如果没有索引,默认移除最后一个
	 |-- remove(元素) # 根据值移除元素
	 |-- reverse  # 翻转元素的顺序
	 |-- sort  # 排序,只能同类型比较 如果值字符串,是按照ASCII表比较的

集合

无序的、不能重复的 哈希算法

s = {必须有元素}
s = set() # 全局函数
注意:set无序,所以没有下标


常见方法:
 add', 'clear', 'copy', 'difference', 'difference_update', 'discard',
 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset',
 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union',
 'update']
	 |-- add  # 添加元素
	 |-- clear
 	 |-- copy
	 |-- pop  # 随机移除元素
	 |-- remove # 
	 |-- discard # 尝试着移除元素
	 |-- intersection 交集
	 |-- difference  差集
	 |-- union  并集

元组

元组是()包裹的,特点是固定,不能发生变化的,是不可变类型,有序的数据类型。
tuple1 = tuple((1,2,3))         #创建了一个包括3个元素的元组对象
print(tuple1)
tuple2 = (1,2,3,4,5,6,7,8,9,10)
print(tuple2)

#打印结果
#(1, 2, 3)
#(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
#当要创建的元组中只包含一个元素时,必须带逗号。如果不带逗号会将左右括号默认视为运算符。
通过下标访问元素 
	 |-- count()
	 |-- index()
 注意:元组是不可变类型,也就意味着一点元组创建,元素的个数、值都将固定,不能修改、删除等操作
 如果子元素是可变类型,那就可以改变着个子元素。
 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop',
 'popitem', 'setdefault', 'update', 'values']
	 |-- clear
	 |-- copy
	 |-- get
	 |-- keys()
	 |-- values()
	 |-- items()
	 |-- pop(key)  # 通过key,移除对应的键值对
	 |-- popitem  # LIFO的顺序
	 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值