前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python的set集合学习(七)

python的set集合学习(七)

作者头像
无涯WuYa
发布2018-10-25 16:00:26
3420
发布2018-10-25 16:00:26
举报

在python中,set集合是一个无序并且不重复的元素集合,它的关键字是set,依然按照之前的思维方式,我们定义一个set集合,来看它的类所具备的功能以及对象功能的详细信息,这样的目的很简单,很多时候,我们不可能把字典,列表,元组,set集合类的方法都记得那么的清楚,但是使用的时候,我们可以通过dir()和help()来获取它的详细的信息,来实现自己所要实现的东西,OK,见如下的代码:

代码语言:javascript
复制
#!/usr/bin/env python 
#-*- coding:utf-8 -*-

s=set()
print u'set对象类的功能为:',dir(s)
print u'set对象的详细信息:',help(type(s))

见执行如上的代码后输出的信息:

C:\Python27\python.exe D:/git/Python/FullStack/share/setTest.py

set对象类的功能为: ['__and__', '__class__', '__cmp__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

set对象的详细信息:Help on class set in module __builtin__:

class set(object)

| set() -> new empty set object

| set(iterable) -> new set object

|

| Build an unordered collection of unique elements.

|

| Methods defined here:

|

| __and__(...)

| x.__and__(y) <==> x&y

|

| __cmp__(...)

| x.__cmp__(y) <==> cmp(x,y)

|

| __contains__(...)

| x.__contains__(y) <==> y in x.

|

| __eq__(...)

| x.__eq__(y) <==> x==y

|

| __ge__(...)

| x.__ge__(y) <==> x>=y

|

| __getattribute__(...)

| x.__getattribute__('name') <==> x.name

|

| __gt__(...)

| x.__gt__(y) <==> x>y

|

| __iand__(...)

| x.__iand__(y) <==> x&=y

|

| __init__(...)

| x.__init__(...) initializes x; see help(type(x)) for signature

|

| __ior__(...)

| x.__ior__(y) <==> x|=y

|

| __isub__(...)

| x.__isub__(y) <==> x-=y

|

| __iter__(...)

| x.__iter__() <==> iter(x)

|

| __ixor__(...)

| x.__ixor__(y) <==> x^=y

|

| __le__(...)

| x.__le__(y) <==> x<=y

|

| __len__(...)

| x.__len__() <==> len(x)

|

| __lt__(...)

| x.__lt__(y) <==> x<y

|

| __ne__(...)

| x.__ne__(y) <==> x!=y

|

| __or__(...)

| x.__or__(y) <==> x|y

|

| __rand__(...)

| x.__rand__(y) <==> y&x

|

| __reduce__(...)

| Return state information for pickling.

|

| __repr__(...)

| x.__repr__() <==> repr(x)

|

| __ror__(...)

| x.__ror__(y) <==> y|x

|

| __rsub__(...)

| x.__rsub__(y) <==> y-x

|

| __rxor__(...)

| x.__rxor__(y) <==> y^x

|

| __sizeof__(...)

| S.__sizeof__() -> size of S in memory, in bytes

|

| __sub__(...)

| x.__sub__(y) <==> x-y

|

| __xor__(...)

| x.__xor__(y) <==> x^y

|

| add(...)

| Add an element to a set.

|

| This has no effect if the element is already present.

|

| clear(...)

| Remove all elements from this set.

|

| copy(...)

| Return a shallow copy of a set.

|

| difference(...)

| Return the difference of two or more sets as a new set.

|

| (i.e. all elements that are in this set but not the others.)

|

| difference_update(...)

| Remove all elements of another set from this set.

|

| discard(...)

| Remove an element from a set if it is a member.

|

| If the element is not a member, do nothing.

|

| intersection(...)

| Return the intersection of two or more sets as a new set.

|

| (i.e. elements that are common to all of the sets.)

|

| intersection_update(...)

| Update a set with the intersection of itself and another.

|

| isdisjoint(...)

| Return True if two sets have a null intersection.

|

| issubset(...)

| Report whether another set contains this set.

|

| issuperset(...)

| Report whether this set contains another set.

|

| pop(...)

| Remove and return an arbitrary set element.

| Raises KeyError if the set is empty.

|

| remove(...)

| Remove an element from a set; it must be a member.

|

| If the element is not a member, raise a KeyError.

|

| symmetric_difference(...)

| Return the symmetric difference of two sets as a new set.

|

| (i.e. all elements that are in exactly one of the sets.)

|

| symmetric_difference_update(...)

| Update a set with the symmetric difference of itself and another.

|

| union(...)

| Return the union of sets as a new set.

|

| (i.e. all elements that are in either set.)

|

| update(...)

| Update a set with the union of itself and others.

|

| ----------------------------------------------------------------------

| Data and other attributes defined here:

|

| __hash__ = None

|

| __new__ = <built-in method __new__ of type object>

| T.__new__(S, ...) -> a new object with type S, a subtype of T

None

Process finished with exit code 0

依据如上的详细信息可以看到,在新式类set中,有很多的方法,那么这里,我们就学习部分经常使用的方法,其他的方法,如果不清楚的,可以看它的注释,有详细的解释。经常使用的方法案例代码为:

代码语言:javascript
复制
#!/usr/bin/env python 
#-*- coding:utf-8 -*-

s=set()
#集合插入数据
s.add('wuya')
s.add('admin')
print u'见插入数据后的集合内容:',s,type(s)

#把列表转换为集合
list1=[11,22,33,44,55]
print u'列表list1转换为集合后:',set(list1),type(set(list1))

#查看b集合存在,a集合不存在的情况
b={1,2,3,4,5}
a={6,7,8,9,0,1}
print u'查看b集合存在,a集合不存在的内容:',b.difference(a)
print u'移除指定的集合,不存在不会出现错误:',b.discard('wuya')
print u'查看集合a,b都存在的值:',a.intersection(b)
#没有交集,返回True,存在交集返回False
print u'判断集合a,b是否存在交集:',a.isdisjoint(b)
print u'移除集合的元素并且获取值:',a.pop()
print u'获取a,b集合的并集:',a.union(b)
b.update(a)
print u'集合b更新后的内容为:',b
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档