python学习(Day03)

set

set集合,是一个无序且不重复的元素集合,集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.

不重复性

1 >>> a = [1,1,2,2,3,3,4,4,]
2 >>> set(a)
3 {1, 2, 3, 4}

mxz

无序性

1 #!/usr/bin/python
2 # -*- coding: UTF-8 -*-
3 a = [‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘,]
4 b = set(a)
5 print(b)
6
7 #输出结果
8 {‘zhi‘, ‘yu‘, ‘gong‘, ‘shang‘, ‘jue‘}

mxz

set(object)

1.def difference(self,*args,**kwargs): # difference()用来查找a中存在,而b中不存在的元素

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = set([‘gong‘,‘jue‘,‘yu‘,‘wen‘,‘wu‘])
3 c = a.difference(b)
4 print(c)
5
6 # 输出结果
7 {‘zhi‘, ‘shang‘}

mxz

2.def intersection(self,*args,**kwargs): # instersection()用来查找a,b中共同存在的元素(交集)

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = set([‘gong‘,‘jue‘,‘yu‘,‘wen‘,‘wu‘])
3 c = a.intersection(b)
4 print(c)
5
6 # 输出结果
7 {‘gong‘, ‘jue‘, ‘yu‘}

mxz

3.def symmetric_difference(self,*args,**kwargs): # symmetric_difference()用来查找对称差集,即a,b中不想交的元素,与instersection()相反

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = set([‘gong‘,‘jue‘,‘yu‘,‘wen‘,‘wu‘])
3 c = a.symmetric_difference(b)
4 print(c)
5
6 #输出结果
7 {‘shang‘, ‘wen‘, ‘zhi‘, ‘wu‘}

mxz

4.def discard(self,*args,**kwargs):及 def remove(self,*args,**kwargs): # discard()用来删除指定元素,元素不存在不报错,remove()也是用来删除指定元素,但是元素不存在会报错

 1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
 2 a.discard(‘gong‘)
 3 print(a)
 4
 5 #输出结果
 6 {‘jue‘, ‘yu‘, ‘shang‘, ‘zhi‘}
 7
 8 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
 9 a.discard(‘wu‘)
10 print(a)
11
12 #输出结果
13 #为空,没有报错
14
15
16 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
17 a.remove(‘shang‘)
18 print(a)
19
20 #输出结果
21 {‘gong‘, ‘zhi‘, ‘jue‘, ‘yu‘}
22
23 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
24 a.remove(‘wu‘)
25 print(a)
26
27 #输出结果
28 #报错
29 Traceback (most recent call last):
30   File "C:/Users/Administrator/PycharmProjects/untitled4/mxzheng/a/a1.py", line 9, in <module>
31     a.remove(‘wu‘)
32 KeyError: ‘wu‘

mxz

5.def update(self,*args,**kwargs): # update()用来更新

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = set([‘ma‘,‘xiao‘,‘zheng‘])
3 a.update(b)
4 print(a)
5
6 #输出结果
7 {‘gong‘, ‘zhi‘, ‘ma‘, ‘jue‘, ‘yu‘, ‘shang‘, ‘zheng‘, ‘xiao‘}

mxz

6.def union(self,*args,**kwargs): # union()用来查找a,b中所有元素(并集)

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = set([‘wen‘,‘wu‘,‘shen‘,‘shang‘])
3 c = a.union(b)
4 print(c)
5
6 #输出结果
7 {‘shen‘, ‘wu‘, ‘yu‘, ‘zhi‘, ‘wen‘, ‘jue‘, ‘gong‘, ‘shang‘}

mxz

7.def intersection_update(self,*args,**kwargs): # intersection_update() 查找a,b的交集并更新到a

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = set([‘shen‘,‘shang‘])
3 a.intersection_update(b)
4 print(a)
5
6 #输出结果
7 {‘shang‘}

mxz

8.def symmetric_difference_update(self,*args,**kwargs): # symmetric_difference_update() 查找a,b的对称差集,并更新到a

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = set([‘shen‘,‘shang‘])
3 a.symmetric_difference_update(b)
4 print(a)
5
6 #输出结果
7 {‘zhi‘, ‘gong‘, ‘yu‘, ‘shen‘, ‘jue‘}

mxz

9.def issubset(self,*args,**kwargs):和 def issuperset(self,*args,**kwargs): # issubset用来查看b是否为a的子序列,issuperset()用来查看a是否为b的父序列,返回结果True or False

 1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
 2 b = set([‘gong‘,‘shang‘])
 3 c = a.issubset(b)
 4 print(c)
 5
 6 #输出结果
 7 False
 8 ...
 9 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
10 b = set([‘gong‘,‘shang‘])
11 c = b.issubset(a)
12 print(c)
13
14 #输出结果
15 True
16
17 ...
18 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
19 b = set([‘gong‘,‘shang‘])
20 c = a.issuperset(b)
21 print(c)
22
23 #输出结果
24 Ture
25
26 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
27 b = set([‘gong‘,‘shang‘])
28 c = b.issuperset(a)
29 print(c)
30
31 #输出结果
32 False

mxz

10.def add(self,*args,**kwargs): #add() #用来添加元素

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = (1,2,3,4,5)
3 a.add(b)
4 print(a)
5
6 #输出结果
7 {‘zhi‘, (1, 2, 3, 4, 5), ‘gong‘, ‘jue‘, ‘shang‘, ‘yu‘}

mxz

11.def clear(self,*args,**kwargs): #用来清除集合中所有的元素

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 a.clear()
3 print(a)
4
5 #输出结果
6 set()

mxz

12.def difference_update(self,*args,**kwargs): # 从a集合中从删除和b的交集

1 a = set([‘gong‘,‘shang‘,‘jue‘,‘zhi‘,‘yu‘])
2 b = set([‘gong‘,‘shang‘])
3 a.difference_update(b)
4 print(a)
5
6 #输出结果
7 {‘yu‘, ‘zhi‘, ‘jue‘}

mxz

时间: 2024-08-29 07:34:01

python学习(Day03)的相关文章

Python学习day03

一.集合 与列表和元组不同,集合是无序的,也无法通过数字进行索引.此外,集合中的元素不能重复 创建集合: 使用set函数 集合操作: s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) t.add('

python学习-day03:整形、字符串常用方法:

一.数字,int 1.1: a.int(object)转化数字类型: a='100' b=int(a) b=b+1000 print(b) 223 <class 'int'> 答案 b.转化二进制: v=int(num,base=2) #number以二进制的形式转化为 10进制 num='0011'v=int(num,base=2)print(v) num='0011' v=int(num,base=16) print(v) num='b'v=int(num,base=16)print(v)

python学习:程序控制结构·作业20141219

Python学习:程序控制结构 20141219 编程环境: windows 7 x64 python 2.7.6 题目: 1 编写程序,完成下列题目(1分) 题目内容: 如果列出10以内自然数中3或5的倍数,则包括3,5,6,9.那么这些数字的和为23.要求计算得出任意正整数n以内中3或5的倍数的自然数之和. 输入格式: 一个正整数n. 输出格式: n以内中3或5的倍数的自然数之和. 输入样例: 10 输出样例: 23 时间限制:500ms内存限制:32000kb n = int(raw_in

python学习第二天

python学习的第二天就是个灾难啊,这天被打击了,自己写的作业被否认了,不说了,写博客还是个好习惯的,要坚持下去,就不知道能坚持到什么时候.呵呵!!! 这天教的知识和第一天的知识相差不大,区别在于比第一天讲的更细了(我们是两个老师教的,风格是不一样的),这次也写那些比较细的知识点. python的简介 (1)你的程序一定要有个主文件. (2)对于python,一切事物都是对象,对象基于类创建.#似懂非懂,不过有那么点似懂. 知识点 #__divmod__ 会把两个数字相除的商和余数以元组的方式

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

python学习之最简单的用户注册及登录验证小程序

文章都是从我的个人博客上粘贴过来的哦,更多内容请点击 http://www.iwangzheng.com 正如很多同学所知道的,楼主开始学习python了,前进的道路曲曲折折,有荆棘也有陷阱,从最简单的小程序写起,每天练习,将python进行到底. 有一点比较别扭的就是python的换行之后空四个空格,ruby都是两个,并且python在方法和循环语句的第一句都要加冒号 mysql> show create table user; mysql> alter table user add sal

python学习--创建模块

昨天做了python客户端和服务器端通信,并把接收到的信息写到数据库,因为对数据库进行操作是个经常调用的行为,所以我想把调用数据库的操作写成一个module来给其它python程序调用,所以将昨天的服务器端程序拆分为两个文件: 1.主程序python.py #!/usr/bin/env python import socket import json import connmysql s = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) h

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

Python学习day5作业-ATM和购物商城

Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 购物车: 商品信息- 数量.单价.名称 用户信息- 帐号.密码.余额 用户可充值 购物历史信息 允许用户多次购买,每次可购买多件 余额不足时进行提醒 用户退出时 ,输出当次购物信息 用户下次登陆时可查看购物历史 商品列表分级显示 1

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr