组合数据类型

一、序列类型

  • 数列类型支持成员运算符(in)、大小计算函数(len())、分片([])以及可迭代。
  • 数列类型(内置):bytearray.、bytes、list、str与tuple

元组

定义

  • 元组是一个有序且固定的序列。

tuple类型对象的创建

  • 通过,和()共同创建对象。圆括号有时可以不用,建议用上。
t = () #创建一个空元组
t = 'hair','blask','2,3',3 # t = ('hair', 'blask', '2,3', 3)
  • 通过数据类型创建对象
t = tuple() #创建一个空元组
t = ('hair', 'blask', (2,3), 3) 
s = tuple(t) #对t进行一次浅拷贝,其他参数,尝试将对象转为tuple

对元组的常用操作

分片
连接
  • 与字符串一样
元组的常用操作方法

命名的元组

定义

  • 命名的元组与普通元组一样,其添加的功能就是根据名称引用元组的项。

列表

定义

  • 列表是一个有序、可变的序列。

list类型对象的创建

  • 通过[]创建对象
my_list = [1,2] #my_list = [1, 2]
  • 通过数据类型创建对象
x = list() #x = []
y = list(list) #返回该参数的浅拷贝,对非list参数对象转换为列表
  • 通过列表内涵创建对象

列表的基本操作

存取操作符的使用
  • 修改列表
 x = [1,1,1] 
 x[1] = 2 #x=[1, 2, 1]
  • 删除元素
 names = ['Alice','Beth','Cecil','Dee-Dee','Earl']
 del names[2] #names = ['Alice', 'Beth', 'Dee-Dee', 'Earl']
  • 给切片赋值
#替换长度相同的序列
name = ['P','e','r','l']
name[2:] = list('ar') #name = ['P', 'e', 'a', 'r']
#替换长度不同的序列
name = ['P','e','r','l']
name[1:] = list('ython') #name = ['P', 'y', 't', 'h', 'o', 'n']
#插入新元素
numbers = [1,5]
numbers[1:1] = [2,3,4] #numbers=[1, 2, 3, 4, 5]
numbers[::2] = [0,0,0] #numbers=[0, 2, 0, 4, 0]
列表方法
  • append()
  • clear()
  • copy
  • count()
  • extend()
  • index()
  • insert()
  • pop()
  • remove()
  • reverse()
  • sort()

二、集合类型

  • 集合类型支持成员关系操作符、对象大小计算符,并且是iterable.。
  • 两种内置的集合类型:可变的set类型、固定的frozenset。

集合

定义

  • 集合是对象引用的无序可变且数据项不可重复的组合。
    说明:由于集合是无序的,所以没有索引的概念,不能进行切片操作。

集合类型对象的创建

  • 通过数据类型创建对象
s = set() #<class 'set'> s = set()
s = set("Hello") #s = {'e', 'H', 'o', 'l'}
  • 通过集合函数创建对象

集合方法

  • s.add(x)
  • s.clear()
  • s.copy()
  • s.remove(x)

固定集合

定义

  • 固定集合是指创建后不能改变的集合。

固定集合类型对象的创建

  • 只能通过frozenset()进行创建
  • 说明:当二元运算符用于集合与固定集合时,返回结果为左边操作数的数据类型。

固定集合支持的方法

  • frozenset.copy()
  • frozenset.difference()
  • frozenset.intersection()
  • frozenset.isdisjoint()

三、映射类型

  • 映射类型支持成员关系操作符、尺寸函数,并且是iterable.。
  • 映射是键-值数据项的组合,并且是无序的。
  • Python3.0支持两种无序的映射类型:内置dict类型和标准库collection.defaultdict类型。

字典

定义

  • dict 是一种无序可变的组合数据类型。
  • dict包含键值对。其中键指向可哈希运算的对象的引用,值指向任意类型对象的引用
  • 由于字典是无序的,索引位置对其无意义。

字典类型对象的创建

  • 通过{}创建
d5 = {'id':1948,'name':"Washer",'size':3} #d5 = {'id': 1948, 'name': 'Washer', 'size': 3}
  • 通过类型函数创建
d1 = dict({'id': 1948, 'name': 'Washer', 'size': 3})
d2 = dict(id = 1948, name= 'Washer', size = 3)
d3 = dict([('id',1948),('name','Wasther'),('size',3)])
  • 通过字典内涵创建

字典的方法

-d.clear()
- d.copy()
- d.fromkey(s,v)
- d.get(k)
- d.items()
- d.keys()
- d.pop(k)
- d.pop(k,v)
- d.popitem()

默认字典

有序字典

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值