1、元组的定义
- 总结:
- "" 或者 '' 或者 三" -> 字符串
- [] -> 列表
- () -> 元组
- 元组是不可变的 因为他的元素是不可以修改的(程序员不可以对元组做增删改的操作)
- 定义一个元组
- 格式: 元组名 = (元素1, 元素2, ...)
- 测试元组的元素数据不可以修改
- 定义一个特殊的元组
- 当程序员定义了一个元组 有且只有一个元素 (元素,)
- 分析: 为什么出现了元组这个类型?
- 数据安全
2、 字典的定义
- 字典的的key和value是一一对应的
- 字典中的key是唯一的
- 注意注意注意: 字典的key可以为任意数据类型 但是这个数据类型必须是不可变的(不能作为key的数据类型列表 字典)
- 字典是无序的
- 通过key获取value (字典是无序的-> 不支持下标索引获取数据)
3、字典的常见操作
- <1>查看元素
- 通过key获取value 如果key存在得到对应的value 如果key不存在 将报错
- <2>修改元素 -添加元素
- 把age的value改成70
- 如果通过key修改字典中的value 如果key存在于字典中 那么直接修改对应的value
- 如果key不存在 那么系统会自动添加一个新的元素(key-value)
- setdefault
- 通过key获取value 如果key存在 那么会返回这个value 而且dict没有任何影响
- get
- get 等价于setdefault (name是存在的)
- 通过key获取value 如果key不存在 那么会返回设置的默认值(老王) 不会对字典做任何操作
- get 和setdefault区别是在于这个key不存在然后对字典是否造成影响(是否添加新的键值对)
4、字典的遍历
使用enumerate 可以把列表中的元素和元素的对应的索引都可以得到
5、集合的定义
- 集合是无序的(不可以通过下标获取元素) 而且集合中的元素是不重复的 -> 列表中的元素去重
- 定义一个正常的集合
- my_set = {1, 3, 5, 7, 20}
- 不可以 {} 是空的字典
- my_set2 = {}
- 01 作用 去重使用
- 02 添加元素(add,update)
- update和列表中的extend相似
- 03 删除元素(remove,pop,discard)
- remove
- 格式:集合名.remove(元素值)
- pop
- 任意的删除一个(因为集合是无序的)
- discard
- 格式: 集合名.discard(元素值) (不同于remove 如果元素值不存在 不会报错)
- 交集和并集(&和|)
- 多维列表/元祖访问的示例
- tuple1 = [(2,3),(4,5)]
- tuple1[0]
- (2,3)
- tuple[0][0]
- 2
6,可变数据类型和不可变数据类型
- 可变数据类型:改变值之后id()不会改变的数据类型
- 不可变数据类型:改变值之后id()可变得数据类型