`

python笔记---sets

阅读更多

5.4.Sets

python还包含一个数据类型sets。set是个无序的没有重复元素的集合。set还包括数学的集合操作。

创建set的方法有2种:大括号、函数set()。注意,如果创建一个空的set必须使用set()。

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)                      # show that duplicates have been removed
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket                 # fast membership testing
True
>>> 'crabgrass' in basket
False

>>> # Demonstrate set operations on unique letters from two words
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  # unique letters in a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # letters in a but not in b
{'r', 'd', 'b'}
>>> a | b                              # letters in either a or b
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # letters in both a and b
{'a', 'c'}
>>> a ^ b                              # letters in a or b but not both

 以上是从英文教程中翻译来的。

a = set('abracadabra')

这句让我很困惑,为什么连字符串也给去重了?看了下函数注释:

set Found at: builtins
set() -> new empty set object
    set(iterable) -> new set object
    
    Build an unordered collection of unique elements.

 原来是iterable的子类的做为参数。也就是说可以是str、bytes、byte tuple、list、range、tuple都可以。

b = set((1,1,2,3)) # tuple
print(b)

b = set('1212') # str
print(b)

b = set([1212,'ab',1212]) # list
print(b)

b = set(range(0,5,2)) # range
print(b)

 

set的内容操作和list也是一样的。

>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
{'r', 'd'}
 


  


  
分享到:
评论

相关推荐

    Python笔记Python笔记Python笔记

    - **集合(Sets)**: 无序且不重复元素的集合。 - **类型(types)**: Python的类型系统。 以上是对给定文件中涉及的基础知识点的详细解读与扩展,希望能帮助您更好地理解和掌握Python编程的基本概念和技术要点。

    Python学习笔记.docx

    ### Python 学习笔记知识点详解 #### 一、Python 内置对象介绍 **1. 列表(Lists)** - **定义**: 列表是一种有序的数据结构,支持多种数据类型,允许相同类型的元素重复。 - **特点**: - 可变性:列表是可以修改...

    【Python学习笔记】第六章 容器类型的数据.pdf

    ### Python学习笔记第六章:容器类型的数据 #### 一、概述 在Python中,容器类型的数据是指能够存储多个数据项的数据结构。这类数据结构非常重要,因为它们提供了组织和管理复杂数据集的能力。Python内置了几种主要...

    谷歌师兄的leetcode刷题笔记-jarvis:Jarvis是一个用Python编写的简单帮助程序

    谷歌师兄的leetcode刷题笔记贾维斯 一个用 Python 编写的简单 Jarvis。 还有很多工作要做 节点 Jarvis 由一系列节点组成,如下所示。 想象 声音 输入:wave 文件 ID 播放波形文件。 文字转语音 在:文本字符串 使用 ...

    Python简明教程【完美整理版】

    - Python 提供了丰富的内置数据类型,例如列表(lists)、字典(dictionaries)、集合(sets)等,这些数据结构的设计考虑到了性能和灵活性。 - **示例:** 字典操作的平均时间复杂度接近 O(1),非常适合查找和更新操作。 ...

    这是我在学习《基于Python的数据结构》的时候的笔记与代码.zip

    压缩包中的“ljg_resource1”可能是包含这些知识点的笔记和示例代码,通过查看这些资源,你可以更好地理解和掌握Python数据结构的使用和实践。记住,理论学习和实际操作相结合是学习编程的最佳方式。不断地练习和...

    redis-in-action 读书笔记 PDF

    Redis是一种快速的非关系型数据库(NoSQL),其主要特性如下...以上就是《Redis in Action》一书的阅读笔记中所涉及的知识点,通过对本书的学习,读者可以深入理解Redis的特性和使用方法,将其应用于不同的业务场景中。

    3-13-3-redis-随堂笔记.docx

    3. **Hash**(哈希表):类似于Python中的字典,能够存储键值对,适合于存储对象。 4. **Sets**(集合):无序的、不重复的元素集合。 5. **Sorted Sets**(有序集合):类似于Set,但每个成员都有一个分数(score)...

    CS229 problem set 1

    5. **数值计算与编程实现**:通过Python或其他编程语言实现上述算法,加深对这些概念的理解。 ### 三、关键知识点详解 #### 3.1 线性回归 线性回归是一种用于预测连续值输出的监督学习方法。它假设输入特征与输出...

    Python笔记1

    Python有六种基本数据类型:Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)和Dictionaries(字典)。列表是可变的,用方括号`[]`包围元素,元素间由逗号分隔。列表支持加法运算符`+...

    tp5的nestedsets,方便的对树形结构的数据在关系型数据库中进行管理和操作。.zip

    描述中的“大学生 C/C++/JAVA/Python数据结构学习笔记和资料大全”表明这是一个包含多种编程语言数据结构学习资源的集合,涵盖了C、C++、Java和Python这四种常用编程语言。数据结构是计算机科学的基础,对于理解算法...

    redis开发笔记

    Redis支持多种编程语言的客户端库,如Jedis(Java)、PyRedis(Python)、StackExchange.Redis(.NET)等,方便开发者集成到各种项目中。 通过这份"redis开发笔记",你可以深入了解Redis的特性和用法,结合练习...

    redis6.0笔记代码资料.zip

    2. **数据类型**:Redis 支持五种基本数据类型:字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)。这些数据类型的使用场景和操作命令在笔记中会详细讲解。 3. **持久化...

    redis入门学习笔记

    Redis是一个开源的、基于内存的数据...总的来说,Redis入门学习笔记详细介绍了Redis的特性、安装、数据类型、使用场景、备份与恢复、性能测试、Python客户端使用等基础知识和技巧,非常适合新手作为入门学习的资料。

    tensorflow操作mnist数据集

    mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) ``` 这段代码用于下载MNIST数据集,并将其转换为one-hot编码格式。 2. **定义占位符** ```python x = tf.placeholder(tf.float32, [None, ...

    watson-machine-learning-samples:Watson Machine Learning样本模型,笔记本和应用程序

    1. **Sample Models** - 这里可能有各种机器学习模型的源代码,例如Python脚本或者Scikit-Learn、TensorFlow或PyTorch等框架的模型文件,用户可以通过这些模型了解不同算法的应用。 2. **Notebooks** - Jupyter ...

    二抽取代码MATLAB-SU-ECE-20-4:SU-ECE-20-4

    如果您正在使用其他Python笔记本软件进行查看,则“ .py”和“ .ipynb”中都可以使用Azure Databricks版本。 文件夹“ Image_Sets”包含大小不同的不同图像集。 它们的范围从一组3张图像到更大的一组32张图像。 在...

    细节增强的matlab代码-ECE20-4Snow_Leopard:ECE20-4雪豹

    如果您正在使用其他Python笔记本软件进行查看,则“ .py”和“ .ipynb”中都可以使用Azure Databricks版本。 文件夹“ Image_Sets”包含大小不同的不同图像集。 它们的范围从一组3张图像到更大的一组32张图像。 在...

    redis 的学习笔记A

    作为NoSQL数据库的一种,Redis具有丰富的数据结构支持,包括字符串(strings)、列表(lists)、集合(sets)、有序集合(sorted sets)和哈希表(hashes),这使得它在处理多种数据场景时更加灵活。 1. NoSQL...

    datastructure_note.zip

    《数据结构笔记——Python实现详解》 数据结构是计算机科学中的基础概念,它涉及如何组织和存储数据,以便高效地进行各种操作。Python作为一种高级编程语言,提供了丰富的数据结构供我们使用,包括列表、元组、字典...

Global site tag (gtag.js) - Google Analytics