[转载] python difference用法_set.difference() 的用法(python3)_python3 set集合,三元运算以及
参考链接: Python set集合 difference_update ()
1.set是一个无序且不重复的元素集合。
集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小), 用 for 循环迭代集合的成员。但是因为集合本身是无序的,不可以为集合创建索引或执行切片(slice)操作,也没有键(keys)可用来获取集合中元素的值。
set和dict一样,只是没有value,相当于dict的key集合,由于dict的key是不重复的,且key是不可变对象因此set也有如下特性:
1)不重复
2)元素为不可变对象
#!/usr/bin/env python
# -*- coding:utf-8 -*-
a={11,22,33,24,8}
b={24,50,88,8}
c={24,8}
print(a)
#增加新的元素
a.add(35)
print(a)
#清空集合
a.clear()
#找a中存在,b中不存在的集合,并将其赋值给新变量c
c=a.difference(b)
print (c)
# 找a中存在,b中不存在的集合,并更新自己
a.difference_update(b)
print(a)
#discard移除元素,不存在的元素不报错
a.discard(11)
#remove移除元素,不存在的元素报错
a.remove(11)
#pop随机移除集合中的某个元素
a.pop()
print(a)
#两个集合的交集,intersection是将交集赋予给新的变量ret,intersection_update是取交集并更新自己
ret=a.intersection(b)
a.intersection_update(b)
print (ret)
print(a)
#判断c和a是否不存在交集(有交集False,无交集True)
print(c.isdisjoint(a))
#判断c是否是a的子集
print(c.issubset(a))
#判断c是否是a的父集
print(c.issuperset(a))
#合并集合a和b,得到的值覆盖a
a.update(b)
print(a)
#增加迭代
a.update([1,2,3])
print(a)
#合并不同项,并复制给新变量d
d=a.symmetric_difference(b)
print(d)
#合并不同项,并更新自己
a.symmetric_difference_update(b)
print(a)
2.三元运算(为真时的结果 if 判定条件 else 为假时的结果)
#说明,if判断条件为真时,name='kobe',否则name='byrant'
name='kobe' if 2>3 else "byrant"
print(name)3.赋值,深浅拷贝定义
直接赋值:其实就是对象的引用(别名)。
浅拷贝(copy):拷贝父对象,不会拷贝对象内部的子对象。
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
#数字和字符串的赋值和深浅拷贝之后,内存地址都一样
1 importcopy2 n1='kobe'
3 n2=n14 print(id(n1))5 print(id(n2))6 n3=copy.copy(n1)7 print(id(n3))8 n4=copy.deepcopy(n1)9 print(id(n4))
#列表,字典赋值之后内存地址一样,深浅拷贝之后,内存地址不一样
import copy
l1=['kobe',{'k1':8,"k2":24},10]
print(l1,id(l1))
l2=l1
print(l2,id(l2))
l3=copy.copy(l1)
print(l3,id(l3))
l4=copy.deepcopy(l1)
print(l4,id(l4))
#例子:
alist=[1,2,3,["a","b"]]
import copy
a=alist
c=copy.copy(alist)
d=copy.deepcopy(alist)
print (alist) #[1, 2, 3, ['a', 'b']]
print(a) #[1, 2, 3, ['a', 'b']]
print (c) #[1, 2, 3, ['a', 'b']]
print(d) #[1, 2, 3, ['a', 'b']]
alist.append(8) #列表中增加一个元素
print (alist) #[1, 2, 3, ['a', 'b'], 8]
print(a) #赋值:[1, 2, 3, ['a', 'b'], 8] 也随着增加了元素
print (c) #浅拷贝:[1, 2, 3, ['a', 'b']] 没有拷贝增加的元素
print(d) #深拷贝:[1, 2, 3, ['a', 'b']] 没变
alist[3].append("c") #列表中第三个元素中再追加一个元素
print(alist) #[1, 2, 3, ['a', 'b', 'c'], 8]
print(a) #[1, 2, 3, ['a', 'b', 'c'], 8] 也随着增加了元素
print(c) #浅拷贝:[1, 2, 3, ['a', 'b', 'c']] 里面子对象中增加了一个元素
print(d) #深拷贝:[1, 2, 3, ['a', 'b']] 没变
#结论:
# 赋值:随着原始数据的改变而改变.
# 浅拷贝:只拷贝第一层的父对象,不拷贝子对象,原始数据的子对象中的元素改变,浅拷贝里子对象的元素也会改变.
# 深拷贝:原始对象的改变不会造成深拷贝里任何子元素的改变.
[转载] python difference用法_set.difference() 的用法(python3)_python3 set集合,三元运算以及相关推荐
- [转载] python numpy.sqrt_python中numpy库ndarray多维数组的的运算:np.abs(x)、np.sqrt(x)、np.modf(x)等...
参考链接: Python中的numpy.tan numpy库提供非常便捷的数组运算,方便数据的处理. 1.数组与标量之间可直接进行运算 In [45]: a Out[45]: array([[ 0, ...
- Python编程笔记(第三篇)【补充】三元运算、文件处理、检测文件编码、递归、斐波那契数列、名称空间、作用域、生成器...
一.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件处理: if 条件成立:val = 1else:val = 2 改成三元运算 val = 1 if 条件成立 else 2 ...
- [转载] python difference用法_set.difference() 的用法(python3)_举例说明python3 set方法功能
参考链接: Python 集合set symmetric_difference_update add(增加元素)name = set(['Tom','Lucy','Ben']) name.add('J ...
- [转载] python list中append()与extend()用法
参考链接: Python list extend() 列表是以类的形式实现的."创建"列表实际上是将一个类实例化.因此,列表有多种方法可以操作. 1. 列表可包含任何数据类型的元 ...
- [转载] Python中while循环的基本用法
参考链接: Python while循环 文 | 天罡君 while和for都可以使程序重复执行某一段代码(又称作循环体),区别是for循环用于针对集合中的每一个元素都一个代码块,而while循环在表 ...
- [转载] Python编程之np.argmax()的用法
参考链接: Python中的numpy.argmax 用法:求的是最大值对应的索引 案例如下
- Python控制键盘鼠标pynput的详细用法 (转载)
Python控制键盘鼠标pynput的详细用法 更新时间:2019年01月28日 15:15:16 作者:botoo 这篇文章主要介绍了Python控制键盘鼠标pynput的详细用法,小编觉得挺不 ...
- Python中的基本函数及其常用用法简析
分享Python中的基本函数及其常用用法简析,首先关于函数的解释函数是为了达到某种目的而采取的行为,函数是可重复使用的,用来实现某个单一功能或者功能片段的代码块,简单来说就是由一系列的程序语句组成的程 ...
- python 中/ 与 //的作用、用法
python 中/ 与 //的作用.用法 原创蓝莓·山药 最后发布于2019-06-21 09:27:54 阅读数 3591 收藏 展开 python语法中, / 是除法,例如:2/3 = 0.66 ...
最新文章
- Ubuntu18.04下安装RRStudio
- 如何在数据管理DMS上使用phpMyAdmin数据库(wdcp/wordpress/discuz篇)
- Master PDF editor在ubuntu下面的配置
- Servlet使用基本步骤及功能实现
- (十一)python3 只需3小时带你轻松入门——面向对象
- java 保垒机telnet,开源堡垒机系统Teleport
- java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架
- python金融数据怎么获取_class类怎样在python中获取金融数据?
- vue复选框组件自定义对勾_vue2.0中ckeckbox(复选框)的使用心得,及对click事件和change的理解...
- 科技文献检索(八)——检索技术
- 谷歌浏览器安装失败,解决办法
- 90KB的3D游戏(像CS一样)[汇编界又一奇迹]绝对震撼,操作和CS一样!
- 向工程腐化开炮|资源治理
- 世界上最美的公式——欧拉公式
- 感恩2020,期待2021
- mysql求数值分位点_如何计算一组数据中任意一个数值的分位值?
- IP路由基础及(三种)路由信息获取方式
- Reverse recognition
- Vue和SpringBoot打造中学生家校互联系统
- 第十八周学习周报(20180702-20180708)
热门文章
- 把流量变现赚钱的一些想法
- 计算机网络高级技师,计算机网络管理员(高级技师)职业资格考核标准_new教案.doc...
- java 数组 源码_Java数组转List的三种方式及对比
- 500万数据mysql_mysql 500万数据库
- Python入门--模块,from,import,自定义模块
- 线段树i hate it
- 1500ml等于多少l_发动机1.5T、2.0T大概等于多少L?涡轮增压就一定比自然吸气好?...
- case when then else_SQL 优化大神玩转 MySQL函数系列_case_when 的坑
- IntelliJ IDEA + EmmyLua:Lua IDE的安装与使用
- C#基础12:嵌套类、匿名类与密封类