元组(tuple)
元组是python提供的容器型数据类型(序列),不可变(特性),有序
元组是不可变的列表,一般保存一些不让修改的数据
(元素1,元素2,...)
空元组 tuple1 = ()
元素个数是1的元组 (元素后必须加逗号)tuple1 = (1,)
元组可以省两边括号(多个数据直接用逗号隔开,表示的是一个元组),tuple1 = 1, 2, 3
获取元素:和列表一样
tuple1 = ('1','2','3')
print(tuple1[1])
print(tuple1[1:])
for i in tuple1:
print(i)
1)让变量的个数和元组中的元素个数保持一致,来一以获取元组中每个元素的值
point = (100,50)
x, y = point
print(x, y)
2)让多个变量同时获取元组中的元素的时候,可以在一个变量前加*将这个变量变成一个列表。
来获取不带的变量获取后剩下的数据。(注意,带的变量只能有一个)
字典(dict)
1.什么是字典(dict)
字典是python提供的容器型数据类型(序列),可变,无序
2.字典中的元素就是键值对
{key1: value1,key2:value2, ...}
键值对 -> 以‘键’:‘值’成对出现的
键(key) -> 要求不可变,唯一(建议用字符串作为key,用来对值进行说明和区分的,还作为索引)
值(value) -> 任何类型的数据都可以作为值
3.元素操作
1)查 -> 获取值
1. 字典[key] -> 获取字典中key对应的value,key不存在报错
2. 字典.get(key) -> 获取字典中key对应的value,key不存在不报错,结果是None
字典.get(key,默认值) -> 如果key不存在不报错,结果是默认值
3. 遍历
直接通过for循环遍历字典的时候,获取到的是所有的key
2) 增;改 ->
字典[key] = value -> 如果key存在, 修改key对应的值;如果key 不存在,添加键值对
3)删除
del 字典[key] -> 删除键值对(key不存在会报错)
字典.pop(key) -> 取出字典中key对应的值,如果key不存在会报错
4.相关操作
字典不支持加法,乘法运算(不支持数学运算)
字典只支持相等比较;不支持大小比较
in/not in
key in 字典 -> 字典中是否存在指定的key
len -> 键值对个数
dict -> 转换类型(数据本身序列类型,序列中每个元素也是序列且长度是2,子序列中首元素不可变)
字典转换为列表时,将key取出作为列表的元素。
5.内置函数
字典.clear() -> 清空字典
字典.copy() -> 复制键值对,产生新字典
fromkeys -> dict.fromkeys(序列, 值) -> 创建一个新的字典,字典的key是序列的元素,key对应的value是值
new_dict = dict.fromkeys('hello',100)
print(new_dict)
#{'h': 100, 'e': 100, 'l': 100, 'o': 100}
字典.keys() -> 获取字典中所有的key,结果是一个序列
字典.value() -> 获取字典中所有的value,结果是一个序列
字典.item() -> 获取字典中所有的键值对,结果是返回元组形式,一个键值对对应一个元组
字典. setdefault(key,value) -> 添加键值对,只能添加
字典1.update(字典2) -> 字典2的数据更新字典1;不存在就添加,存在就修改
集合(set)
1.什么是集合
容器型数据类型(set),可变,无序
2.集合中的元素 -> 不可变,唯一,自带去重功能
{元素1, 元素2,....}
3. 空集合
set1 = set() #set1 = {} 是空字典
3.元素相关操作
1) 查
集合不能单独获取指定的某一个元素,只支持遍历
2)增
集合.add(元素) -> 往集合中添加一个元素
集合.update(序列) -> 将序列中的元素添加到集合中(自带去重)
3)删
集合.remove(元素) -> 删除集合中指定的元素(元素不存在会报错)
4.数学集合运算
| : set1 | set2 -> 并运算
&:set1 & set2 -> 交运算
-:set1 - set2 -> 差运算(A - B)
^: set1 ^ set2 -> 对称差 (A - B)U(B - A)
包含关系:集合1 >= 集合2
包含关系:集合1 <= 集合2