Python——容器

我们在python学习中,我们会使用到容器,那么就简单介绍一下容器吧。

Python的内置容器:


 |-- list       (列表)   #可变数据类型
 |-- set       (集合)   # 可变数据类型
 |-- tuple    (元组)   #不可变数据类型
 |-- dict      (字典)
 

什么是容器:

        容器:容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。

  1. 容器是一种可以包含其他类型对象(如列表、元组、集合、字典等)作为元素的对象;
  2. 容器仅仅只是用来存放数据的

list(列表):

        列表是python官方提供的内置的线性表底层

        实现:基于双向链表结构实现

        定义列表:

age = []	# 中括号在python代表的就是列表
age = [18, 16, 20, 30]

列表的定义也可以用list来呈现出来。如:

names = list()	
names = list("张三", "李四", "王五")

        操作列表中的元素:
元素:element:
通过下标可以访问元素
列表[index]
index:从0开始,最大值: 列表的总长度 - 1

获取列表的长度:
    len(Iterable)        # 返回这个可迭代对象的长度

​
ls = [1,2,5,9,4]    #列表

print(len(ls))      #获取列表的长度

#结果为 5 

​

        列表的遍历:
    for循环
    for 临时变量 in Iterable:
        # 每一次得到的元素会放在临时变量中
    
    while循环:

列表的常见方法:
    ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    这些方法都是用来操作列表的
    CRUD(增删改查)

​
|-- append(ele)        # 在尾部追加新的元素
|-- insert(index, ele)    # 在特定的位置添加元素
|-- extend(list)    # 合并列表
|-- clear()        # 清空列表
|-- remove(ele)        # 删除指定元素 
|-- pop()        # 删除最后一个元素 
|-- index(ele)        # 返回查找到的一个元素位置
|-- count(ele)        # 返回元素的数量
|-- reverse()        # 翻转列表顺序
|-- sort()        # 排序
|-- copy()        # 拷贝、复制,对象拷贝,对象浅拷贝

​

set(集合):

python中的集合与高中所学的集合相同
    哈希表(hash table):
        哈希算法的实现:能够将任何事物映射为一个特定的值
        特点: 1、元素不能重复
                    2、无序的

        定义set:
   

 s = set(Iterable)
 ss = {1,2,3,4,}        # {}中必须有值,如果没有值,则默认是dict,不是set

注意: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(ele)			# 添加元素
	|-- clear()			# 清空列表
	|-- copy()			# 浅拷贝
	|-- difference(set)		# 差集
	|-- intersection(set)		# 交集
	|-- union(set)			# 并集
	|-- update(set)			# 合并两个集合
	|-- discard(ele)		# 移除元素,如果该元素不存在,则什么都不做
	|-- remove(ele)			# 移除元素,如果该元素不存在,则抛出异常
	|-- pop()			# 随机移除一个元素

注意:set没有办法使用while 遍历数据,只能使用for循环


tuple(元组):
  
 是一种不可变数据类型
    基本数据类型也是不可变数据类型
    不可变数据类型中如果存在了可变数据类型,这个子对象是可以发生变化的
     所以表示的就是的固定的值,固定的一组值,可以通过下标来访问

注:元组的元素一旦定义,就无法修改!!!

tuple的常见方法:

['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

​
|-- count    #统计元素的数量
|-- index    #返回查找到的一个元素位置

​


dict(字典):
    字典和集合一样,底层实现就是一个hash table(哈希表)
    最终的表示方式:
                            键值对:一个唯一键对应一个值,一一对应的关系

        python中字典:
    

d = {}
d = {"id": 2, "name": "小明", "age": 18}
dd = dict({"id": 2, "name": "小明", "age": 18})

        获取字典中的值
    d[key]                # 就可以获取字典中,key对应的值,如果不存在,则抛出异常 
    字典对象.get(key,default)    # 就可以获取字典中,key对应的值,如果不存在,则返回None

        字典对象的常见方法:
     ['clear', 'copy', 'fromkeys', 'get', 'items', 'keys',  'pop', 'popitem', 'setdefault', 'update', 'values']

	|-- clear()		# 清空
	|-- copy()		# 复制
	|-- get(key, [defaul])	# 
	|-- setdefault()	# 设置一个默认值
	|-- keys()		# 获取所有的键
	|-- values()		# 获取所有值(返回为列表)
	|-- items()		# 返回键值对
	|-- pop(key)		# 通过key,删除键值对
	|-- popitem()		# 移除键值对 
	|-- update()		# 合并字典  等价于 {**对象, **对象}
	|-- fromkeys(iterable)	# 生成一个新的字典对象

        遍历字典:
  

for i in 对象.keys():
    print(i, 对象[i])
    

for i in 对象:
    print(i, 对象[i])

    
for item in 对象.items():
    print(item[0], item[1])


for (key, value) in 对象.items():
    print(key, value)
    
for key, value in 对象.items():
    print(key, value)


 

以上就是关于python容器的简单介绍,希望能对大家有帮助,如有不足,希望大家能给予宝贵意见,如有侵权,请联系!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值