容器

python的容器:
list
set
tuple
dict
1、什么是容器?
容器就是编程语言提供给我们开发者使用的对象(包含性质)
2、为什么学习容器?
统计大量数据的时候,使用容器来批量的管理和操作大量数据
3、什么时候用容器?
处理大量数据或者特殊数据时
4、怎么使用?
list 列表
set 集合
tuple 元组
dict 字典

list:有序的数列
在程序中,有序数列:数组array(必须是连续内存、查询速度非常快、增删的效率低)、链表list(查询效率较差,增删改的效率较高)、栈stack(先进后出,后进先出)、队列queue(先进先出)
python中没有数组
python的list底层就是基于双向链表结构设计的
如何定义list
1、借助弱数据类型语言的特点
[ ] #列表是以[ ]的形式体现的
ls =[ ] #空列表
ls = [1,2,3,4,5,6] #创建了一个有如下元素的列表
2、借助python提供的一个全局函数创建list
ls = list( )
ls = list([1,23,3,4,4554])
访问list中的元素(element)
线性表,都是具有下标(索引)的
列表对象[下标]
注意:下标从0开始,注意下标越界问题!!!!
print(ls[4]) #访问ls中的第五个元素
ls[1] = 100 #将ls列表中的第二个元素值修改为100
如何统计list中的元素个数
全局函数:len( )
如何遍历列表
使用循环遍历
for index in ls2:
print(index)

#使用while循环遍历列表
index = 0
while index < len(ls2):
print(ls2[index])
index += 1

list的常见方法:
[‘append’, ‘clear’, ‘copy’, ‘count’, ‘extend’, ‘index’, ‘insert’, ‘pop’, ‘remove’, ‘reverse’, ‘sort’]
append(元素) #在列表尾部追加元素
insert(index,元素) #在对应索引位插入元素
remove(元素 ) #移除元素,如果不存在,则报错
pop(index=-1) #默认移除最后一个元素,如果存在参数,则该参数就是要移除的下标,注意:下标有误,会抛出异常
clear() #清空列表
reverse() #翻转列表元素顺序
sort() #排序
index(元素) #查找元素的位置
count(元素) #统计元素的数量
extend #合并列表
copy() #复制列表对象,其本质的浅拷贝

set和list是可以相互转换的
set(集合)
特点:1、无序的 2、不能重复
底层使用的hash表(哈希表)的结构设计的
定义:1、借助弱数据类型语言的特点
注意:必须要存在值,否则默认空{ }是字典类型,而不是set类型
s = {1,2,4}
2、全局set函数
s = set( )
遍历只能使用for循环遍历,while没有办法遍历(无序)
常见方法: ‘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() # 浅拷贝对象
|-- difference() # 差集
|-- intersection() # 交集
|-- union() # 并集
|-- remove(元素) # 移除元素,如果不存在,则报错
|-- pop(元素) # 随机(arbitrary)移除,不存在,则报错
|-- discard(元素) # 随机(arbitrary)移除,不存在,则什么都不做

tuple(元组)
不可变数据类型,就是说,它里面的元素是不允许被修改的!!
定义和前面的一样,也存在两种方式
常见方法:
|-- count # 统计元素个数
|-- index # 查看元素索引位置
注意:
t = (1)
t = (1,)

字典:
定义:
d = {}
d = {k1: v1, k2: v2}
d = dict({…})

可以使用key访问到key对应的值
    d["k1"]
    d.get("k2")

    p["name"] = "lisi"    # 增加键值对

常见方法:
    clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem','setdefault', 'update','values']

    |-- clear
    |-- copy
    |-- get
    |-- keys()            # 将所有的key返回
    |-- values()            # 将所有的值返回
    |-- setdefault
    |-- items()            # 一对一对的返回
    |-- pop(key)            # 通过key删除对应键值对
    |-- popitem()            # 安装 LIFO (last-in, first-out) order 删除键值对

字典的遍历方式:
1、
for key in p:
print(key, p[key])

    2、
    for key in p.keys():
         print(key , p.get(key))    
    
    3、
    for key, value in p.items():
         print(key, value)

    for (key, value) in p.items():
         print(key, value)

    for t in p.items():
         print(t[0], t[1])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值