变量类型-Set
教程:
集合是一个无序不重复元素的序列,它的特点是:有的可变,有的不可变,元素无序不可重复!
一:集合的创建
(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的更多相关文章
- Python学习--03变量类型
变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创 ...
- 5-2 bash 脚本编程之一 变量、变量类型等
1. bash变量类型 1. 环境变量 2. 本地变量(局部变量) 3. 位置变量 4. 特殊变量 2. 本地变量 VARNAME=VALUE, 整个bash进程 3. 环境变量 作用域为当前shel ...
- Javascript学习笔记:3种检测变量类型的方法
①typeof检测变量类型 console.log(typeof 1);//number console.log(typeof "a");//string console.log( ...
- 黑马程序员——C语言基础 变量类型 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...
- C++数据类型和变量类型。
数据类型 数字是自由的[不只属于某个类型]!但是它可以有不同的身份!int.char.float.double等身份.它以不同的身份[存储规则]存储在内存的某个位置内部! 变量类型 内存编号是不会变的 ...
- MySQL服务 - MySQL变量类型及变量设置
一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从 ...
- Python 变量类型
Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...
- CUDA1.1-函数类型限定符与变量类型限定符
这部分来自于<CUDA_C_Programming_Guide.pdf>,看完<GPU高性能变成CUDA实战>的第四章,觉得这本书还是很好的,是一种循序渐进式的书,值得看,而不 ...
- C#变量类型
在C#语言中,我们把变量分为七种类型,它们分别是:静态变量(static varibles),非静态变量(instance variables),数组元素(array elements),值参数(va ...
- bash脚本编程之一 变量、变量类型等
变量的内容 1.变量命名: 1.只能包含字母.数字和下划线,并且不能以数字开头, 2.不应该跟系统中已有的环境变量重名 3.最好能见名知意 2.变量赋值: 设置变量: ...
随机推荐
- css选择器(常规选择器,伪类选择器,伪元素选择器,根元素选择器)
前言 CSS的一个核心特性是能向文档中的一组元素类型应用某些规则,本文将详细介绍CSS选择器 选择器 [通配选择器] 星号*代表通配选择器,可以与任何元素匹配 *{color: red;} [元素选择 ...
- /etc/profile文件被改坏导致命令不可用
这几天在装一个软件,设置环境变量的时候,不小心把/etc/profile文件改坏了(就是没配置对),在source /etc/profile后导致所有命令都不可用了.出现如下报错: -bash: xx ...
- C# 插件化方案(Add-In)
白话插件框架原理 WPF 插件开发(.NET Framework 3.5 System.Addin) 原文:AddIn Enabled Applications
- 20175204 张湲祯 2018-2019-2《Java程序设计》 第一周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第一周学习总结 教材学习内容总结 -第一章Java入门要点: -Java的地位:具有面向对象,与平台无关,安全稳定和多线 ...
- ES--07
61.索引管理_快速上机动手实战创建.修改以及删除索引 课程大纲 1.为什么我们要手动创建索引? 2.创建索引 创建索引的语法 PUT /my_index{ "settings": ...
- linux 乌班图 xshell链接不上服务器
输入 ps -e |grep ssh ,如果没有任何反应则是没有安装 命令 sudo apt-get install openssh-server 然后出现是否同意-Y,同意进行自动下载 如果提示 ...
- KNN与K-Means的区别
KNN(K-Nearest Neighbor)介绍 Wikipedia上的 KNN词条 中有一个比较经典的图如下: KNN的算法过程是是这样的: 从上图中我们可以看到,图中的数据集是良好的数据,即都打 ...
- git用代码库文件完全覆盖本地/git不能提交jar的设置
用代码库中的文件完全覆盖本地工作版本. 方法如下: git reset --hard git pull 操作后 本地该目录下所有修改都会被删除!!! 谨慎操作! 项目目录下 文件:.gitignore ...
- 金蝶KIS&K3助记码SQL数据库批量刷新
金蝶KIS&K3助记码SQL数据库批量刷新 用的次数不多,就没有写入存储过程或者触发里面了,可以自行实现. 第一步选择对应账套的数据库,执行下面的命令,这个是一个函数. go if exist ...
- 【转】win10哪个版本最好用,推荐win10企业版LTSC
https://msdn.itellyou.cn/ win10企业版LTSC又被称为win10企业版2019长期服务版本,这个版本小编认为是目前最好用的win10版本,在win10企业版2016长期服 ...