Python集合
Python中的集合是一个无序,不重复的数据组合,它可以把一个列表变成集合,去除重复元素。还可以进行关系测试,车是两组数组之间的关系。我们还是来进行对比学习,首先我们来看下Python中的集合。
Py:
首先是创建一个集合
list = set([1,2,3])
可以将一个列表变成集合
list1 = [1,2,3]
list1 = set(list1)
交集
list.instersection(list1) 符号表示 list &list1
并集
list.union(list1) 符号表示list | list1
差集 表示list中有 list1没有的元素
list.difference(list1) 符号表示 list - list1
子集
list.issubset(list1)
父集
list.issuperset(list1)
对称差集 将两个集合中互相都没有的放在一个集合中
list.symetric_difference(list1) 符号表示 list ^list1
添加一项
list.add(999)
添加多项
list.update([1,2,3])
list.remove() 删除一项不存在的时候会报错
list.discard() 删除不存在的时候不会报错
list.isdisjoint(list1) 两个集合没有交集的时候返回faluse
以上就是python中集合的一些用法我们再来看一下oc中集合的用法。在oc中集合分为可变集合和不可变集合它和python中几个的特点是一样的,去重,测试关系。
创建一个集合:NSSet *set1=[[NSSet alloc]initWithObjects:@
"one"
,@
"tow"
, nil];
将一个数组变成集合
NSSet *set2=[NSSet setWithArray:array1];
集合的对象数量
NSInteger count=[set3 count];
集合中的所有元素
NSArray *array2 =[set3 allObjects];
返回集合中任意一个元素
NSString *str=[set3 anyObject]
判断集合中是否包含某个元素
Boolean result1=[set3 containsObject:@"two"];
判断集合是否有交集
BOOL result2= [set1 intersectsSet:set2];
是否是一个集合的子集
BOOL result4=[set1 isSubsetOfSet:set2];
在一个集合中添加一个新元素 返回新的集合
NSSet *appSet=[set5 setByAddingObject:@
"tow"
];
在一个集合中添加一个数组
NSArray *appArray=[NSArray arrayWithObjects:@"x",@"y", nil];
NSSet *appSet2=[set5 setByAddingObjectsFromArray:appArray];
可变集合的操作:
创建可变集合
NSMutableSet *mutableSet1=[NSMutableSet Set];
两个集合去除相同的部分
[mutableSet2 minusSet:mutableSet3];
求两个集合中相同的元素
[mutableSet2 intersectSet:mutableSet3];
合并两个集合
[mutableSet2 unionSet:mutableSet3];