一、set集合

               元素是无序的,不可重复的数据类型

               无序特性:嵌入的数据的顺序和取出来的顺序是不一样的

               不可重复:数据不能有重复的元素

       set定义:

              使用{}来定义set集合:{},而且至少要有一个元素

              可以对set集合类型进行集合运算,差集,补集,交集

# num6=set("abcdefg");
# num7=set("abcmn");
# print(num6 - num7)#差集 {'d', 'e', 'g', 'f'} 集合a中包含而集合b中不包含的元素
# print(num6 | num7)#并集{'e', 'w', 's', 'x', 'o', 'h', 'l'} 集合a或b中包含的所有元素
# print(num6 & num7)#交集{'e', 'o', 'l', 'h'}集合num6和num7中都包含了的元素
# print(num6 ^ num7)#不同时存在元素 {'m', 'g', 'f', 'd', 'e', 'n'}
语法:1、num1={values1,,values2}
2、num1=set(value)
方法:
1、添加
num1.add(s):添加值
num1.update(s):添加值
2、删除
num1.remove(s);删除一个值
num1.discard(s);删除一个值
num1.pop();随机删除一个值
3、计算元素个数
len(s)
4、清空集合
s.clear();
5、判断语法是否存在
"参数" in 变量名
x in s
num8=set(("xiaoming","xiaohong1","xiaobo"));
#给集合添加一条信息
num8.add("小明");
print(num8);#{'xiaobo', '小明', 'xiaoming', 'xiaohong1'}
#给集合添加一条信息, 列表信息直接添加到集合中,位置是随机放的
num8.update([1,2,3],[4,5,6]);
print(num8);#{'小明', 2, 1, 3, 4, 5, 6, 'xiaobo', 'xiaoming', 'xiaohong1'}
# #删除
# #第一种删除方式
num8.remove("xiaoming");
print(num8);#{1, 2, 3, 4, 5, 6, 'xiaobo', 'xiaohong1', '小明'}
#第二种删除方式
num8.discard("小明");
print(num8);#{'xiaohong1', 2, 1, 3, 4, 'xiaobo', 5, 6}
#的三种删除方式
num8.pop();
print(num8);#{2, 3, 4, 5, 6, 'xiaohong1', 'xiaobo'}
#计算元素个数:len()
num10={"name","age"};
print(len(num10));
# #清空集合
num11={"我是","魏世轩"};
num11.clear();
print(num11)#set()

  

二、字典

1、格式
字典有每个键值:key:value
每个键值用逗号隔开,
用{}来表示
2、作用:
即存储容器,可以存储任意类型对象
3、注意:
键是唯一的,而值是可以任意改变的
语句前面不能有空格
4、操作
增删改查
字典内置函数
1、len(num2):键值对数量
2、str(num2):输入语句
3、type(num2):返回变量类型
字典内置方法
1、keys():用户获取所有的键,是一个列表形式
2、values:用于获取所有的值,是一个列表形式
3、items:获取所有的键值对
4、dict.fromkeys():创建只有键的字典
num1={'name':'老大','age':'19','hobby':'看书'};
#1、查询name信息
print("名字:"+num1['name']);#名字:老大
#2、修改信息
num1['age']=20;
print("修改年龄:",num1['age']);#修改年龄 20
#3、增加键值
num1['gender']='男';
print("性别:"+num1['gender']);#性别:男
#4、删除
#删除单个键值
del num1['name']
print(num1);#{'age': 20, 'gender': '男', 'hobby': '看书'}
#清空字典
num1.clear();
print(num1);#{}
#删除字典
del num1;#删除字典,什么都不会显示

#字典内置函数
num2={'name':'老二','age':20,'gender':'男','hobby':'吃'};
#统计字典键值对总共数量
print(len(num2));#4
#输出字典
print(str(num2));#{'name': '老二', 'gender': '男', 'age': 20, 'hobby': '吃'}
#返回变量类型
print(type(num2));#<class 'dict'>字典类型


#字典内置方法
num3={'name':'老三','age':21,'gender':'女','hobby':'拉'};
print("字典长度 %d"%len(num3));#字典长度 4
#删除字典中所有元素
# num3.clear();
# print("字典删除后的长度 %d"%len(num3));#字典删除后的长度 0
#字典的浅复制
num4=num3.copy();
print("新复制的字典:",num4);#字典: {'hobby': '拉', 'age': 21, 'name': '老三', 'gender': '女'}
#创建一个新字典num3.fromkeys(sel,val);sel字典的键,val所有键的唯一值
num5=num3.fromkeys(num3);#引用的num3的键
print("新的字典为 %s"% str(num5))#新的字典为 {'gender': None, 'name': None, 'hobby': None, 'age': None}
#keys()用户获取所有的键,是一个列表形式
print(num3.keys());#dict_keys(['age', 'hobby', 'name', 'gender'])
#values:用于获取所有的值,是一个列表形式
print(num3.values());#dict_values(['拉', 21, '女', '老三'])
#items:获取所有的键值对
print(num3.items());#dict_items([('hobby', '拉'), ('name', '老三'), ('gender', '女'), ('age', 21)])
#dict.fromkeys():创建只有键的字典
print(num3.fromkeys(num3));#{'name': None, 'age': None, 'gender': None, 'hobby': None}