数据结构:元祖、列表、字典、集合概念及区别

元祖(tuple):

1.任意对象的有序集合  2.通过偏移存取 3.属于不可变序列类型(一旦创建不支持任何修改,即为只读) 4.固定长度、异构、任意嵌套 

a = (1,2,3,"d",("ww",22))

print(a[2])    结果输出为:3

print(a[1:4])  结果输出为:2,3,"d"

列表(list):它其实与元祖都相似,1.任意对象的有序集合  2.通过偏移读取  3.可变长度,异构以及任意嵌套  4.可变的序列 支持索引、切片、合并、删除等等操作,它们都是在原处进行修改列表  5.对象引用数组 列表可以当成普通的数组,每当用到引用时,Python总是会将这个引用指向一个对象,所以程序只需处理对象的操作

list.append(元素) 增加

list.remove(元素)删除

list.insert(元素)插入

list[n]=[元素] 修改,n代表元素位置

字典(dict):dictionary = {key:value}

D = {"AA":11,"BB":22,"CC":44}
d["bb"]= "BB"  print(d)   结果:11
D = {"AA":11,"BB":22,"CC":44}
W = {"aa":"11","bb":"a2"}

更新:D.update(W)    print(D)  
结果:{'AA': 11, 'BB': 22, 'aa': '11', 'bb': 'a2'}
删除: del(D["CC"]) print(D)
结果:{"AA":11,"BB":22}
新增:D["TT"]=55 print(D) 
结果:{'AA': 11, 'BB': 22, 'DD': 55}

集合(set):

元祖、列表、字典、集合区别:

1.列表,元组,字典是有顺序的,而集合是没顺序的

2.列表是以方括号形式表示,元组是以圆括号表示,字典以花括号表示,集合则是以[()]的形式表示

3.列表是可变对象,它支持在原处修改的操作.也可以通过指定的索引和分片获取元素。区别于元组,可动态增加,删除,更新。

4.元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示。元组一旦定义其长度和内容都是固定的。一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作。若想创建包含一个元素的元组,则必须在该元素后面加逗号“,”,否则创建的不是一个元组,而是一个字符串。

5.集合没有特殊的表示方法,而是通过一个set函数转换成集合。集合是一个无序不重复元素集,基本功能包括关系测试和消除重复元素.。

6.字典最大的价值是查询,通过键,查找值。

7.集合、字典没有重复,元祖和列表可以重复

例子如下:

class Dc:
    def data(self):
        a = (11,23,11,33)   #元祖
        b = [112,12,21,12]   #列表
        c = {"a":1,"a":1,"b":2,"c":3}  #字典
        d = {11,22,11,13}   #集合
        print(a)
        print(b)
        print(c)
        print(d)
Dc().data()

结果:

 8、元祖的性能比列表好

元祖长度大小固定,元素不可变,存储空间固定,更轻量级

列表,不被使用时,python会进行垃圾回收

元组,不被使用时,python会缓存这部分内存

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值