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];

 

posted on 2017-10-25 21:28  无聊怎么聊  阅读(232)  评论(0编辑  收藏  举报