集合常用的方法

add()       向集合中增加一个元素,如果集合中已经有了这个元素,那个这个方法就会失效

 >>> help(set.add)
Help on method_descriptor: add(...)
Add an element to a set. #向集合中添加一个元素 This has no effect if the element is already present. #集合中已经存在元素,则这个方式失效 >>> a ={"baidu","google"}
>>> type(a)
<type 'set'>
>>> a.add("weibo") #向集合a中添加元素
>>> a
set(['baidu', 'weibo', 'google'])
>>> id(a) #集合a在内存中的地址
64656104L
>>> a.add("ali") #向集合a中添加元素
>>> a
set(['baidu', 'weibo', 'google', 'ali'])
>>> id(a) #集合a中的内存地址没有发生改变,是原地修改,是可变集合
64656104L
>>> a.add("google") #如果增加的元素在集合中存在,则不会做任何操作
>>> b ={} #创建一个空的集合
>>> b.add("python")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'add' #报错信息为字典中没有add函数
>>> type(b) #b是一个字典
<type 'dict'>
>>> b =set() #创建一个空集合
>>> type(b)
<type 'set'>
>>> b.add("python") #向b中添加一个元素
>>> b
set(['python'])
>>> b.add([1,2,3]) #向b中添加一个列表,报错列表是不可hash的,是可改变的
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> b.add((1,2,3)) #可以向集合中添加一个元素
>>> b
set(['python', (1, 2, 3)])
>>>

update() 更新

 >>> help(set.update)
Help on method_descriptor: update(...)
Update a set with the union of itself and others. #更新一个集合,用这个集合本身和另外 参数里面的内容转换为集合 >>> a
set(['baidu', 'weibo', 'google', 'ali'])
>>> b
set(['python', (1, 2, 3)])
>>> a.update(b) #将集合b更新到a集合中
>>> a
set(['baidu', 'weibo', 'google', 'ali', 'python', (1, 2, 3)])
>>> a.update("test") #将一个字符串更新到集合a中
>>> a
set(['baidu', 'weibo', 's', 'google', 'e', 't', 'ali', 'python', (1, 2, 3)])
>>>

pop() 从集合中随机删除一个元素,并且把这个元素作为返回值,pop函数没有参数,不能指定元素

 >>> help(set.pop)
Help on method_descriptor: pop(...)
Remove and return an arbitrary set element. #从集合中移除一个元素,并且把这个元素返回
Raises KeyError if the set is empty. #如果这个集合为空,那么会报错keyError >>> b
set(['python', (1, 2, 3)])
>>> b.pop()
'python'
>>> b
set([(1, 2, 3)])
>>>

remove() 从集合中删除指定的元素,删除的元素必须是集合中的一员,如果不是,则会报错KeyError

 >>> help(set.remove)
Help on method_descriptor: remove(...)
Remove an element from a set; it must be a member. #从集合中删除指定的元素,删除的元素必须是集合中的一员 If the element is not a member, raise a KeyError. #如果不是集合中的元素,则会报错KeyError >>> a
set(['baidu', 'weibo', 's', 'google', 'e', 't', 'ali', 'python', (1, 2, 3)])
>>> a.remove("s")
>>> a
set(['baidu', 'weibo', 'google', 'e', 't', 'ali', 'python', (1, 2, 3)])
>>> a.remove("s")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 's'
>>>

discard() 从集合中删除指定的元素,删除的元素必须是集合中的一员,如果不是,则不作任何操作

与remove()类似,区别就是remove() 删除不是集合中的元素,则会报错。而discard()删除不是集合中的元素,则不会报错。

示例:

 >>> help(set.discard)
Help on method_descriptor: discard(...)
Remove an element from a set if it is a member. If the element is not a member, do nothing. >>> a.discard("s")
>>>

clear() 删除集合中所有的元素

 >>> help(set.clear)
Help on method_descriptor: clear(...)
Remove all elements from this set. >>> a.clear()
>>> a #集合为一个空集合
set([])
>>>

Python 学习笔记(十)Python集合(二)的更多相关文章

  1. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  2. python学习笔记(十四): unittest

    Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestC ...

  3. python学习笔记(一):python简介和入门

    最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...

  4. python 学习笔记 9 -- Python强大的自省简析

    1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...

  5. python 学习笔记一——Python安装和IDLE使用

    好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...

  6. python学习笔记(python简史)

    一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交 ...

  7. Python学习笔记 - day12 - Python操作NoSQL

    NoSQL(非关系型数据库) NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称.用于超大规模数据的存储.(例如 ...

  8. python学习笔记(1)--python特点

    python诞生于复杂的信息系统时代,是计算机时代演进的一种选择. python的特点,通用语言,脚本语言,跨平台语言.这门语言可以用于普适的计算,不局限于某一类应用,通用性是它的最大特点.pytho ...

  9. python学习笔记之——python模块

    1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  10. python 学习笔记(十二) 文件和序列化

    python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ` ...

随机推荐

  1. Linux 文件系统大小调整

    有些使用需要进行文件系统的大小调整,比如使用LVM,或者在loopback设备上建立文件系统等,但该文件系统不是根文件系统时可以通过一下步骤,简单的进行: e2fsck -f /dev/loop0 r ...

  2. php+mysql+jquery日历签到

    在网站开发过程中我们会经常用到签到功能来奖励用户积分,或者做一些其他活动.这次项目开发过程中做了日历签到,因为没有经验所有走了很多弯路,再次记录过程和步骤. 1.日历签到样式: 2.本次签到只记录本月 ...

  3. Strapi 安装易错位置

    Strapi官网(https://strapi.io)介绍:最先进的开源内容管理框架,可以毫不费力地构建功能强大的API,建立在Node.js平台之上,为您的API提供高速惊人的表现. 简单点说,(对 ...

  4. css设置一行显示,超出部分显示...

    碰到一些介绍时候需要一行显示,然后超出部分用...替代 white-space: nowrap;不换行显示text-overflow: ellipsis;以...显示overflow: hidden; ...

  5. C语言实现整数数组的逆置算法

    读入100个整数到一个数组中,写出实现该数组进行逆置的算法. 方法一: 假设100个整数读入到数组a中,算法f1的思想是分别从数组两端依次将对应数进行交换,即a[i]与a[100 - i - 1]进行 ...

  6. 07_Redis事务

    [简述] 事务是指一系列的操作步骤,着一些列的操作步骤,要么完全地执行,要不完全地不执行. 比如微博中: A用户关注了B用户,那么A的关注列表里就会有B用户,B用户的粉丝列表里就会有A用户. 这个关注 ...

  7. 用C语言指针作为函数返回值

    转载:http://c.biancheng.net/cpp/html/3242.html C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数.下面的例子定义了一个函数 strlon ...

  8. c# FTP操作类(转)

    using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net ...

  9. Linux ->> Ubuntu 14.04 LTE下安装JDK 1.8

    先到Oracle官网的下载中心下载JDK8的tar包到本地. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow ...

  10. Connection Manager ->> Multiple Flat File Connection & Multiple File Connection

    遍历一个文件夹下的所有文件的方法有两钟:1)使用Multiple Flat File Connection,把所有我们要的文件用"|"作为连接符拼凑出一条connection st ...