教程:
    集合是一个无序不重复元素的序列,它的特点是:有的可变,有的不可变,元素无序不可重复!

一:集合的创建

(1)使用花括号

set={value1, values2}
        
        注意创建一个空集合的时候不能用{},此时创建的是一个字典

(2)使用内联函数set()------>可以原地修改的集合

s = set()
    
    注意:    集合是无序的(集合不是序列类型,则集合也不支持索引和切片),
        打印结果取决于内部存储结构和输出方式

(3)使用内联函数frozenset()---->hashable 可哈希卡类型
二:集合的索引(不允许)

File "<ipython-input-5-9b6a789630ee>", line 1, in <module>
        set_1[1]
    TypeError: 'set' object does not support indexing

三:集合的运算

(1)元素与集合之间的关系

'i' in set('ilove')

(2)集合a与集合b之间的关系
        
        a == b            判断是否相等
        a < b 或者 a.issubset(b) 判断是否为子集
        a 并 b  ---> a|b 或者 a.union(b)
        a 交 b  ---> a&b 或者 a.intersection(b)
        a 补 b  ---> a-b 或者 a.difference(b)
        a 和 b 的对称差集    a^b 或者 a.symmetric_difference(b)

三:集合元素的添加

(1)方法一:    s.add(x)
    (2)方法二:      s.update(x)    其中x可以是列表,元组,字典

四:集合元素的删除
    
    (1)方法一:    s.remove(x)    元素不存在发生错误
    (2)方法二:      s.discard(x)    元素不存在不会发生错误
    (3)方法三:      s.pop()        随机删除一个元素
    (4)方法四:      s.clear()    清空集合

五:集合内置函数

len(set)----set元素的总数
    set.add()-----添加
    set.update()--更新
    还包括上面的四个函数
    
CODE:
# -----------------------------------------------------------------------------------------------------#
# 集合的创建
# -----------------------------------------------------------------------------------------------------#
set_1 = set('abracadabra')  # 创建可变的集合
print("set_1:", set_1)

set_1.add('python')         # 元素的添加
print("添加Python后set_1:", set_1)

set_2 = set('alacazam')
print("set_2:", set_2)

set_3 = frozenset('faith')  # 创建不可变的集合验证元素不可添加
print("创建不可变集合set_3:", set_3)

# -----------------------------------------------------------------------------------------------------#
# 集合的运算
# -----------------------------------------------------------------------------------------------------#
print("set_1 - set_2: ", set_1 - set_2)

print("set_1 | set_2: ", set_1 | set_2)

print("set_1 & set_2: ", set_1 & set_2)

print("set_1 ^ set_2: ", set_1 ^ set_2)

# -----------------------------------------------------------------------------------------------------#
# 集合元素的添加(对于可变集合)
# -----------------------------------------------------------------------------------------------------#

# 方法一

set_2 = set('alacazam')
set_2.add("faith")
print("添加元素方法一:", set_2)

# 方法二
x = {1, 2, 3, 'aaa'}        # 列表
y = (1, 2, 3, 'aaa')        # 元组
z = {1: 'wang', 2: 'aaa'}   # 字典--->只添加键值

set_2.update(z)
print("添加元素方法二:", set_2)

# -----------------------------------------------------------------------------------------------------#
# 集合元素的删除
# -----------------------------------------------------------------------------------------------------#

# 方法一
set_2.remove('faith')
print("删除元素方法一:", set_2)

# 方法二
set_2.discard('1')
print("删除元素方法二:", set_2)

# 方法三
set_2.pop()

print("删除元素方法三:", set_2)
# 方法三
set_2.clear()
print("删除元素方法四:", set_2)

变量类型-Set的更多相关文章

  1. Python学习--03变量类型

    变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创 ...

  2. 5-2 bash 脚本编程之一 变量、变量类型等

    1. bash变量类型 1. 环境变量 2. 本地变量(局部变量) 3. 位置变量 4. 特殊变量 2. 本地变量 VARNAME=VALUE, 整个bash进程 3. 环境变量 作用域为当前shel ...

  3. Javascript学习笔记:3种检测变量类型的方法

    ①typeof检测变量类型 console.log(typeof 1);//number console.log(typeof "a");//string console.log( ...

  4. 黑马程序员——C语言基础 变量类型 结构体

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...

  5. C++数据类型和变量类型。

    数据类型 数字是自由的[不只属于某个类型]!但是它可以有不同的身份!int.char.float.double等身份.它以不同的身份[存储规则]存储在内存的某个位置内部! 变量类型 内存编号是不会变的 ...

  6. MySQL服务 - MySQL变量类型及变量设置

    一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从 ...

  7. Python 变量类型

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  8. CUDA1.1-函数类型限定符与变量类型限定符

    这部分来自于<CUDA_C_Programming_Guide.pdf>,看完<GPU高性能变成CUDA实战>的第四章,觉得这本书还是很好的,是一种循序渐进式的书,值得看,而不 ...

  9. C#变量类型

    在C#语言中,我们把变量分为七种类型,它们分别是:静态变量(static varibles),非静态变量(instance variables),数组元素(array elements),值参数(va ...

  10. bash脚本编程之一 变量、变量类型等

    变量的内容 1.变量命名:            1.只能包含字母.数字和下划线,并且不能以数字开头,    2.不应该跟系统中已有的环境变量重名    3.最好能见名知意 2.变量赋值: 设置变量: ...

随机推荐

  1. CSS font字体知识学习

    字体系列 [1]5种通用字体系列:拥有相似外观的字体系列 serif字体:字体成比例,且有上下短线(衬线字体),包括Times\Georgia\New century Schoolbook sans- ...

  2. H5取经之路——HTML的基本标签

    一.head中的基本标签 1.HTML文档的结构:     a.<head>头部部分,b.<body>主体部分 <!DOCTYPE html> <!-- ↑为 ...

  3. Python-Django 路由控制器

    1 路由的基本使用: # url是个函数,有四个参数,第一个参数要传正则表达式,第二参数传函数内存地址,第三个参数传默认参数,第四个是路由的别名 url(r'^liuqingzheng/article ...

  4. 分布式Session共享解决方案

    分布式Session解决方案 Author:SimpleWu 分布式Session一致性? 说白了就是服务器集群Session共享的问题 Session的作用? Session 是客户端与服务器通讯会 ...

  5. sonar-代码扫描

    代码测试sonar 1.下载地址: https://www.sonarqube.org/downloads/ 2.配置jdk环境(版本要求1.8+) [root@localhost#>> ...

  6. Java Spring Boot VS .NetCore (十一)自定义标签 Java Tag Freemarker VS .NetCore Tag TagHelper

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  7. jackson对日期的处理(序列化与反序列化)

    https://blog.csdn.net/cover1231988/article/details/76021478

  8. ansible的delegate_to、connection、和local_action

    由于工作需要,经常需要把目标节点获得的信息写入执行节点文件日志. 所以经常用到delegate_to和connection,而local_action写法难看,基本不用. delegate_to和co ...

  9. python中的while循环和for循环

    1.while循环 Gif 演示 Python while 语句执行过程 while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,bre ...

  10. Linux查看当前目录下所有子目录是否包含某个文件

    在Linux下,当需要找某个文件但又不知道这个文件在哪个具体的目录下,这时可以使用全目录查找 使用find命令: find . -type f -name "job_21_output*&q ...