python中的数据结构

list:

list是一种有序的集合,可以随时添加和删除其中的元素。

list的索引从0 开始,最后一个元素索引为len(list)-1,也可以用list(-1)直接访问最后一个元素。当索引超出范围,会报错:IndexError。

操作:

末尾添加元素:list.append(num)

在索引号为i的位置添加元素:list.insert(i,num)

删除list末尾的元素:list.pop();删除指定位置的元素:list.pop(i)

修改索引号为i的未知的元素:list[i]=num

list中可以保存不同类型的元素:

L = ['Apple', 123, True,['lili','anna']]

tuple:

有序列表。与list非常相似,tuple一旦初始化就不能修改(tuple中每个元素的指向不能修改)

tuple没有append/insert/pop等方法。

定义空tuple:tuple=()

定义仅有一个元素的tuple:tuple=(3,)    tuple中仅有元素3

访问tuple中索引号为i的元素:tuple[i]

tuple可变的情况:将list作为tuple的元素

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

dict:

键值对的方式存储,dict内部存放的顺序和key放入的顺序是没有关系的:

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

判断key是否存在于字典中: key in dict ==>True/False 

                                        dict.get(key,num)==>如果key存在,返回其value;如果key不存在,返回num,默认的num=None

删除key:d.pop(key)  连同value一起删除

dict的key为不可变对象,由于dict要根据key计算value的存储位置,如果每次计算相同的key得出的结果不同,dict就完全混乱了。为了保证哈希算法的正确性,key不可以变。

dict的特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。需要两个list分别存储key和value,hash函数对key值进行运算后,得到一个对应于列表的下标值,分别对应两个表中的key和value.

set:

一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

set的创建:s=set([1,2,3])。通过传入一个list来构建set,list中的重复元素会被自动过滤。

set中添加元素:set.add(key)

set中删除元素:set.remove(key)

set中的元素必须为不可变对象。因为无法判断两个可变对象是否相等,就无法保证set中无重复对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值