2.2 Python组合数据类型

1. 组合数据类型概述

组合数据类型:包含一组数据且作为单一管理结构的数据类型

  • 顺序性:一组数据以无序或有序方式组织
  • 一致性:一组数据以相同或不同的类型组织
  • 索引性:一组数据能否以及采用序号或自定义索引方式组织

Python组合数据类型:3大类7小类

  • 集合(无序、非一致、无索引):可变集合(set)、不可变集合(frozenset)
  • 序列(有序、非一致/一致、序号索引):元组、列表、字符串、字节串
  • 字典(无序、非一致、自定义索引):字典

可变类型与不可变类型

  • 可变类型:创建后值可以改变的类型,如:列表、字典等
  • 不可变类型:创建后值不可以改变的类型,如:数值类型、字符/字节串、元组等。

可哈希性和hash()函数

  • hash(x)函数返回x的一个哈希值
  • 并不是所有类型都可以被哈希,不可变类型可以被哈希,例如数值类型、字符串、元组等
  • 列表和字典等可变类型不能被计算哈希值

2. 集合类型

集合类型:一组数据的集合

  • 无序:元素间没有顺序,因此要求元素不能相同,元素必须是不可变类型
  • 非一致:元素类型可以不同
  • 无索引:不能对某个元素进行定点索引,可以遍历或随机获取元素

可变集合类型、不可变集合类型

  • 可变集合类型set():集合元素的个数可以不断增加或减少
  • 不可变集合类型frozenset():集合创建后不可改变
# 集合类型创建
A = {
   "c","s",123}
B = set("cscs123")
A - B
{123}
B - A
{'1', '2', '3'}
A = frozenset("cs123")
A
frozenset({'1', '2', '3', 'c', 's'})

3. 序列类型

3.1 序列类型基础

序列类型:一组数据的有序组合

  • 有序:元素间存在顺序,因此,可以存在值相同的多个元素
  • 非一致:元组和列表中元素类型可以不同
  • 一致:字符串和字节串中元素类型必须相同
  • 序号索引:采用正向递增或反向递减方式索引,根据序号精确访问单个元素

3.2 元组类型基础

元组类型:创建后一般不能被修改的序列类型

a = tuple("cscs101")
a
('c', 's', 'c', 's', '1', '0', '1')
b = 123,456
b
(123, 456)

3.3 列表类型基础

列表类型:创建后可以随时被修改的序列类型

a = list("cscs101")
a
['c', 's', 'c', 's', '1', '0', '1']
b = [123,456]
b
[123, 456]

3.4 序列的索引

正向递增或反向递减方式索引

a = ['c','s','c','s','1','0','1']
a[-2]
'0'
a[2]
'c'

4. 字典类型

4.1 字典类型基础

字典类型:一组包含映射关系的数据组合

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值