Python中的set
set_lst = [
('集合容器不可哈希',),
('集合中的元素必须可哈希',),
('集合是无序的',),
('集合自动去重',),
('增',),
('删',),
('查',),
('集合运算',),
('练习',),
]
集合容器不可哈希
>>>hash(set())
TypeError: unhashable type: 'set'
集合中的元素必须可哈希
>>>num_set = {1, 2, 3, [4]}
TypeError: unhashable type: 'list'
集合是无序的
>>>num_set = {1, 2, 3, 4}
>>>num_set[0]
TypeError: 'set' object does not support indexing
集合自动去重
>>>num_set = {1, 1}
>>>num_set
{1}
增
>>>num_set = {1, 2}
>>>num_set.add(3)
>>>num_set
{1, 2, 3}
>>>num_set.update([4, 5])
>>>num_set
{1, 2, 3, 4, 5}
删
set.pop()理论上是移除并返回任意的集合元素
集合是无序的,所以要删除某一元素时,用remove()方法会更好一些
(PS: Python 3.6.2)
>>>num_set = {1, 2, 3, 4, '5', 6}
>>>num_set.pop()
1
>>>num_set.remove('5')
>>>num_set
{2, 3, 4, 6}
>>>num_set.clear()
>>>num_set
set()
>>>del num_set
>>>num_set
NameError: name 'num_set' is not defined
查
>>>num_set = {1, 2}
>>>for i in num_set:
... i
...
1
2
集合运算
>>>set_1 = {1, 2, 3, 4}
>>>set_2 = {4, 5, 6, 7}
交集
>>>set_1 & set_2
{4}
并集
>>>set_1 | set_2
{1, 2, 3, 4, 5, 6, 7, 8}
反交集
>>>set_1 ^ set_2
{1, 2, 3, 5, 6, 7, 8}
差集
>>>set_1 - set_2
{1, 2, 3}
子集与超集
>>>set_1 < set_2
False
>>>set_1 > set_2
False
练习
运用集合的知识为列表去重
>>>lst = [1, 1, 2, 2, 3, 4]
>>>lst = list(set(lst))
>>>lst
[1, 2, 3, 4]
Python中的set的更多相关文章
- [转]Python中的str与unicode处理方法
早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自 ...
- python中的Ellipsis
...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...
- python中的默认参数
https://eastlakeside.gitbooks.io/interpy-zh/content/Mutation/ 看下面的代码 def add_to(num, target=[]): tar ...
- Python中的类、对象、继承
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...
- python中的TypeError错误解决办法
新手在学习python时候,会遇到很多的坑,下面来具体说说其中一个. 在使用python编写面向对象的程序时,新手可能遇到TypeError: this constructor takes no ar ...
- python中的迭代、生成器等等
本人对编程语言实在是一窍不通啊...今天看了廖雪峰老师的关于迭代,迭代器,生成器,递归等等,word天,这都什么跟什么啊... 1.关于迭代 如果给定一个list或tuple,我们可以通过for循环来 ...
- python2.7高级编程 笔记二(Python中的描述符)
Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些" ...
- python cookbook 学习系列(一) python中的装饰器
简介 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓 ...
- 用 ElementTree 在 Python 中解析 XML
用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
随机推荐
- Storm概念学习系列之storm的设计思想
不多说,直接上干货! storm的设计思想 在 Storm 中也有对流(Stream)的抽象,流是一个不间断的.无界的连续 Tuple(Storm在建模事件流时,把流中的事件抽象为 Tuple 即元组 ...
- asp.net web 开发中配置web.config
一.配置数据库连接字符串 <connectionStrings> <add name="CaoLPractise" connectionString=" ...
- Poj 1743——Musical Theme——————【后缀数组,求最长不重叠重复子串长度】
Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 22499 Accepted: 7679 De ...
- jQuery开发插件的两个方法 js 深浅拷贝
1.jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法.由全局函数来调用, 主要是用来拓展个全局函数 2.jQuery.fn.extend(object);为jQu ...
- 前端seo基础规范
基本规范 TDK代码规范 A: 关键词,一般3~4个最好,要与当前页面内容相关(根据实际情况,不适宜过多堆积关键词): B: 杜绝不同URL的页面标题重复现象,作为搜索结果摘要的重要选择目标之一,一定 ...
- 利用python进行简单的图片处理
python的 PIL模块是专门用来处理图片的模块,其功能可以说是非常强大了. 演示环境:win7 操作系统 安装python2.7以及指定的对应PIL模块 我这里有一个现成的PIL模块.本文的大部分 ...
- javascript的常用操作(一)
1. 实时监听input的值变化 onchange事件只在键盘或者鼠标操作改变对象属性,且失去焦点时触发,脚本触发无效; 而onkeydown/onkeypress/onkeyup在处理复制.粘贴. ...
- 【Android开发笔记】杂项
Android studio shift+enter : start new line Theme 将 <style name="AppBaseTheme" pare ...
- 【extjs6学习笔记】1.14 初始: ViewModel
ViewModel是一个管理特定UI组件数据的类. 可以将其视为特定视图的记录容器. 它支持与UI组件的双向数据绑定,只要用户在视图中更改数据,它具有最新的副本. 与模型不同,它不能包含代理,因此它不 ...
- MySQL-数据类型及选择
一.数据类型 详见:http://www.runoob.com/mysql/mysql-data-types.html 二.类型选择 整形>date,time>enum,char>v ...