`
lovnet
  • 浏览: 6901026 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

python 系统学习笔记(七)---set

 
阅读更多
  1. python的set和其他语言类似,是一个无序不重复元素集,基本功能包括关系测试和消除重复元素.集合对象还支持union(联合),intersection(交),difference(差)和sysmmetricdifference(对称差集)等数学运算.
  2. sets支持xinset,len(set),和forxinset。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持indexing,slicing,或其它类序列(sequence-like)的操作。
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



# -*- coding: cp936 -*-
print help(set)
#set(['h', 'e', 'l', 'o'])
x=set('hello')
print x
#set(['d', 'r', 'o', 'w', 'l'])
y=set('world')
print y


# 交集
print x&y
#set(['l', 'o'])


print x|y  # 并集
#set(['e', 'd', 'h', 'l', 'o', 'r', 'w'])


print x - y # 差集 
#set(['h', 'e'])


print x^y # 对称差集(项在t或s中,但不会同时出现在二者中)




a = [11,22,33,44,11,22]  
print  set(a)  
#set([33, 11, 44, 22])


print [i for i in set(a)] #去重


s=set('hello')
t=set('world')
len(s)


#set 的长度
x='h'
print x in s


#测试 x 是否是 s 的成员


x not in s


#测试 x 是否不是 s 的成员


s.issubset(t)
#s <= t
#测试是否 s 中的每一个元素都在 t 中


s.issuperset(t)
s >= t
#测试是否 t 中的每一个元素都在 s 中


s.union(t)
s | t
#返回一个新的 set 包含 s 和 t 中的每一个元素


s.intersection(t)
s & t
#返回一个新的 set 包含 s 和 t 中的公共元素


s.difference(t)
s - t
#返回一个新的 set 包含 s 中有但是 t 中没有的元素


s.symmetric_difference(t)
s ^ t
#返回一个新的 set 包含 s 和 t 中不重复的元素


s.copy()


#回 set “s”的一个浅复制



  1. 请注意:union(),intersection(),difference()和symmetric_difference()的非运算符(non-operator,就是形如s.union()这样的)版本将会接受任何iterable作为参数。相反,它们的运算符版本(operatorbasedcounterparts)要求参数必须是sets。这样可以避免潜在的错误,如:为了更可读而使用set('abc')&'cbs'来替代set('abc').intersection('cbs')。从2.3.1版本中做的更改:以前所有参数都必须是sets。
  2. 另外,Set和ImmutableSet两者都支持set与set之间的比较。两个sets在也只有在这种情况下是相等的:每一个set中的元素都是另一个中的元素(二者互为subset)。一个set比另一个set小,只有在第一个set是第二个set的subset时(是一个subset,但是并不相等)。一个set比另一个set打,只有在第一个set是第二个set的superset时(是一个superset,但是并不相等)
  3. 子set和相等比较并不产生完整的排序功能。例如:任意两个sets都不相等也不互为子set,因此以下的运算都会返回False:a<b,a==b,或者a>b。因此,sets不提供__cmp__方法。
  4. 因为sets只定义了部分排序功能(subset关系),list.sort()方法的输出对于sets的列表没有定义。

分享到:
评论

相关推荐

    《强烈推荐》Python学习笔记--皮大庆

    在这一段文字中,我们看到了Python学习笔记的概览和一些关于Python语言的基本信息。首先,皮大庆作为作者,他的学习笔记是基于《How to think like a computer scientist》这本书编写的,非常适合初学者入门,也是...

    Python3学习笔记整理

    【Python3学习笔记整理】 在Python3的学习过程中,掌握一系列核心概念和技能是至关重要的。这份笔记涵盖了Python的基础语法、数据结构、控制流、函数、模块化编程、面向对象编程等多个方面,旨在帮助初学者系统地...

    python基础学习笔记

    本文档是一份详尽的Python基础学习笔记,...整体而言,这份学习笔记为初学者提供了一个全面、系统的Python入门路径,包含了从基础语法到面向对象编程的完整知识框架,非常适合对Python感兴趣的初学者进行学习和实践。

    python学习笔记-王纯业

    以下是一个Python学习笔记的大纲,涵盖了从基础到进阶的内容。你可以根据自己的学习进度和理解情况,逐步填充和完善这个大纲。 Python学习笔记大纲 一、Python基础 Python简介 Python的历史 Python的特点和应用...

    python学习笔记+源码练习

    "Python学习笔记+源码练习"是一个适合初学者的资源包,旨在帮助你从零基础开始掌握Python编程。这份资料包含了理论知识讲解和实际代码实践,使学习过程更为直观和实用。 在学习Python时,笔记是关键,它们可以帮助...

    B站黑马程序员Python教程学习笔记.zip

    Python是一种高级、通用的编程语言,以其简洁、易读的语法而闻名,被广泛应用于网络爬虫、数据分析、机器学习、人工智能等多个领域。在B站黑马程序员的Python教程中,你将深入理解Python的基础概念,包括: 1. **...

    python学习笔记用案例

    "Python学习笔记用案例"这个标题表明这是一份包含了实际应用示例的学习资料,旨在帮助初学者通过实例来理解和掌握Python编程。描述中的“欢迎下载”暗示这份资料是公开共享的,鼓励大家学习和交流。 在Python的学习...

    python1903笔记 07-mysql2.zip

    本笔记主要聚焦于Python 1903课程中的第07部分,即“mysql2”,将深入探讨如何使用Python连接和操作MySQL数据库。 MySQL是一个开源的关系型数据库管理系统(RDBMS),它提供了高效、可靠的数据存储解决方案。Python...

    python-学习笔记

    Python是一种高级编程语言,以其简洁明了的...了解并掌握这些基础知识是Python学习的第一步。随着学习的深入,你将接触到更复杂的概念,如控制流、函数、类、模块和异常处理等,这些都是构建复杂Python应用程序的基础。

    06-python-标签-对象-各种绘图实例-默认设置

    在Python的科学计算和数据可视化领域,Matplotlib库扮演了重要的角色。本章节将深入探讨“06-python-标签-对象-各种绘图实例-默认设置”这一主题,结合提供的文件,我们主要会关注以下几个方面:标签(labels)、...

    python基础教程-学习笔记充电时刻-模块共13页.p

    理解这些类型及其操作是Python学习的基础。 4. **控制结构(Control Structures)**:包括条件语句(如if-else)用于决定代码的执行路径,循环(如for和while)用于重复执行某段代码,以及异常处理(try-except)来...

    Python学习笔记

    初学者可以通过阅读“Python学习笔记”来快速入门。下面我们将详细探讨Python的一些基础知识。 首先,安装Python编译器是学习的第一步。通常,Python有两个主要版本:Python2.7和Python3.x。尽管Python2.7较为普遍...

    python语言学习笔记.pdf

    Python作为一种高级编程...总体而言,这份Python学习笔记详细介绍了Python语言的基础知识和面向对象的高级特性,适合有C或C++语言基础的初学者,通过系统性地学习Python的语法知识和操作示例,可以快速入门Python编程。

    Python入门学习笔记

    Python是一种高级编程语言,以其简洁明了的语法和...总之,Python入门学习笔记将引导你逐步掌握这门强大的语言,从基本语法到高级特性,让你能够编写出高效、优雅的Python代码,为后续深入学习和实践奠定坚实的基础。

    Some of the python tutorial - 《Python学习笔记》.zip

    《Python学习笔记》是一部深入浅出的Python编程教程,涵盖了Python语言的基础到进阶的各个方面。这份压缩包文件“Some of the python tutorial - 《Python学习笔记》.zip”包含了作者kwan1117的一些Python学习心得和...

    个人python的学习笔记

    这篇个人学习笔记主要涉及了Python的基础知识,包括数据类型、运算符、字符串格式化、输入输出以及一些常用的内建函数。 首先,Python的数据类型有多种,如整型(Integer)、浮点型(Floating Point Real Number)...

    Python源码学习笔记.zip

    "Python源码学习笔记"可能包含了作者在深入研究Python源码过程中的思考、理解和实践,旨在帮助读者更深入地了解Python的工作机制。 Python的源码主要由C语言编写,它提供了丰富的内置函数、数据类型和模块,这些都...

Global site tag (gtag.js) - Google Analytics