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

一:集合的创建

(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. django - 总结 - cnblog

    1.头像预览 -------方法1-------- 点击头像------>点击input img和input重合; img在label,input-->display:none $(&qu ...

  2. oldboy s21day06

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.列举你了解的字典中的功能(字典独有).'''dic.keys() 获取所有keydic.values() ...

  3. [译]Ocelot - Request Id / Correlation Id

    原文 Ocelot可以通过header的形式发送一个requestid.ocelot会将这个requestid转发到下游服务. 如果在日志配置中设置了IncludeScopes为true,那么requ ...

  4. 过滤器实现 (cookie认证)

    cookie用来做身份认证,非常好用,只需要设置Authentication和Authorization就行了. 但是 ,如果cookie不能用了,怎么办?  不要紧,我们也可以用过滤器进行身份认证. ...

  5. Fast RCNN 中的 Hard Negative Mining

     Fast RCNN 中将与 groud truth 的 IoU 在 [0.1, 0.5) 之间标记为负例, [0, 0.1) 的 example 用于 hard negative mining. ...

  6. 初学python之路-day01

    第一天学习python,先了解到了进制之间的转换关系. 如二进制与十进制的转换,如1111转成十进制为15,1111从左向右可看出2^3+2^2+2^1+2^0为8+4+2+1=15.记住前8位1的二 ...

  7. intellij idea创建maven项目

    1.安装好JDK,Tomcat,安装好maven: 2.配置maven全局变量:file->Other Settings ->Default Settings->Build,Exec ...

  8. Nikto and whatweb

    root@kali:~# nikto -host www.baidu.com- Nikto v2.1.6------------------------------------------------ ...

  9. 论文阅读笔记四十五:Region Proposal by Guided Anchoring(CVPR2019)

    论文原址:https://arxiv.org/abs/1901.03278 github:code will be available 摘要 区域anchor是现阶段目标检测方法的重要基石.大多数好的 ...

  10. Python学习笔记二

    ---恢复内容开始--- 一. python几种数据类型的比较. 从以下几个方面比较: 1. 是否可变. 不可变类型:变量的值可以发生变化,id也变了,相当于创建了一个新的对象,所以一修改值,id就变 ...