Python笔记-集合,拷贝
对于列表,元组,集合的异同,有如下解释
#list ----> 允许重复的集合,修改
# tuple ----> 允许重复的集合,不修改
# set ----> 不允许重复的集合
下面是示例代码:
s1 = set()
s2 = {1,2,3,4}
s3 = set([11,22,33,44])
s4 = {3,4,5,6,89}
print type(s2) #<type 'set'>
s1.add(44)
print s1 #set([44])
s1.clear()
print s1 #set([])
print s2.difference(s4) #set([1, 2]) (s1中存在,s2中不存在的) print s2 #set([1, 2, 3, 4])
diff = s2.difference_update(s4)
print s2 # s1中存在,s2中不存在的,更新s1, set([1, 2])
print diff s3.discard(44)
print s3
s3.discard(55) #要移除的元素不存在时,不报错
print s3
s3.remove(66) #要移除的元素不存在时,报错 s5 = {77,88,99}
s6 = {88,77}
ret1 = s5.intersection(s6)
print ret1 #取交集 set([77]) s5.intersection_update(s6)
print s5 #取交集,更新s5
ret2 = s5.isdisjoint(s6)
print ret2 #有交集是false ret3 = s5.issubset(s6)
print ret3 #判断s5是否为s6的子序列 ret4 = s5.issuperset(s6)
print ret4 #判断s5是否为s6的父序列 ret5 = s6.pop()
print ret5 #
print s6 #set([77]) ret6 = s2.symmetric_difference(s4)
print ret6 #set([1, 2, 5, 6]) s2中存在的,s4不存在,+ s4存在,s2不存在 ret7 = s2.union(s4)
print ret7 #set([1, 2, 3, 4, 5, 6])取并集 s2.update(s4)
print s2 #set([1, 2, 3, 4, 5, 6, 89])并在一起
三元运算的形式:name = 值1 if 条件 else 值2
下面是普通的运算:
if 1 == 1 :
name = "alex"
else:
name = "eric"
5 print name
下面是三元运算:
name = "alex" if 1 == 1 else "eric"
print name
拷贝:字符串数字,拷贝,赋值,地址深浅拷贝无意义,因为字符串的优化机制,ID都是一样的
import copy
n1 = 123
print id(n1)
n2 = n1
print id(n2)
n3 = copy.copy(n1)
print id(n3)
深拷贝全部拷贝,除了最内一层,浅拷贝只拷贝了最外面一层,所以K1的ID是一样的。
n4 = {"k1":"wu","k2":123,"k3":["alex",456]}
n5 = copy.copy(n4)
print "n4 id:" + str(id(n4))
print "n5 id:" + str(id(n5))
print id(n4['k1'])
print id(n5['k1'])
#
#
Python笔记-集合,拷贝的更多相关文章
- python笔记集合
1.win_64下编译pyd(编译器用的tdm-gcc-5.1) gcc test.c -shared -Ic:\Python27\include -Lc:\Python27\libs -lpytho ...
- python笔记之常用模块用法分析
python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...
- guxh的python笔记一:数据类型
1,基本概念 1.1,数据类型 基本数据类型:字符串,数字,布尔等 引用数据类型:相对不可变(元组),可变(列表,字典,集合等) 基本数据类型存放实际值,引用数据类型存放对象的地址(即引用) ==:判 ...
- s21day07 python笔记
s21day07 python笔记 一.昨日内容回顾及补充 回顾 补充 将前面所提到的功能,统一改称为方法 二.深浅拷贝 基本格式 v1 = [1,2,3] import copy v2 = copy ...
- 8.python笔记之面向对象基础
title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...
- s21day13 python笔记
s21day13 python笔记 一.装饰器 目的:在不改变原函数内部代码的基础上,在函数执行之前和之后自动执行某个功能 应用场景:想要为函数扩展功能时,可以选择用装饰器 装饰器基本格式: def ...
- s21day06 python笔记
s21day06 python笔记 一.昨日内容回顾及补充 回顾 补充 列表独有功能 reverse:反转 v = [1,2,3,4,5] v.reverse() #[5,4,3,2,1] sort: ...
- python笔记-1(import导入、time/datetime/random/os/sys模块)
python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...
- Python:笔记(2)——函数与模块
Python:笔记(2)——函数与模块 Python函数 关于函数 1.我们可以使用Help来查看函数的帮助信息 2.调用函数的时候,如果传入的参数数量或者类型不符合均会报错. 3.函数名其实就是一个 ...
随机推荐
- [记录][python]python爬虫,下载某图片网站的所有图集
随笔仅用于学习交流,转载时请注明出处,http://www.cnblogs.com/CaDevil/p/5958770.html 该随笔是记录我的第一个python程序,一个爬去指定图片站点的所有图集 ...
- Sublime相关
通过添加 Build System 的方式来使 Sublime Text 3 运行 JS.ES6: 参考文章:如何优雅地使用Sublime Text3 参考书目:<ES6标准入门>阮一峰 ...
- Mysql 5.7.12 配置
打算用express+mysql写一个博客.本来在公司电脑已经配置好了的,但是为了方便在家里也能修改,所以在自己的电脑里也安装好环境. 公司电脑是win7系统32位的,安装的是5.5的mysql,用的 ...
- [地图SkyLine二次开发]框架(4)
继续上一节... 1.Extjs5.0版Menu. -将Extjs包引入MenuPage.html页. 2.前段用Extjs的MVC框架 -在根目录下创建app文件夹,文件夹下分别创建controll ...
- 使用Angularjs的ng-cloak指令避免页面乱码
在使用Anguarjs进行web开发或者进行SPA(single page application)开发时,往往会遇到下面这样的问题. 刷新页面时,页面会出现一些乱码,这里的乱码具体是指`{{expr ...
- Mac安装ctags
Mac安装ctags mac 系统有自带的ctags,但是不支持"ctags -R"指令,需要自己在安装Exuberant Ctags 1.下载ctags 2. 安装 ./conf ...
- 将项目上传到git上,并在测试服务器上运行
上周我完成了我人生的第一个项目,并将它上传到gitHub上完成了团队合作.下面我将用倒叙的方法记录下,我的这段经历. 星期五,项目完成准备上传gitHub启动测试服务器. 1.git clone 项目 ...
- python虚拟环境
sudo apt-get install python-virtualenv virtualenv --no-site-packages files cd files source ./bin/act ...
- ionic overflow:auto失效
事情的起因是 同事上传一个很宽的table文件,因为手机屏幕宽度有限,因此要求 用户可以水平滚动页面,这样table的内容通过滚动就可以实现啦. 当时感觉很简单 给table外面的容器加个overfl ...
- mysql 安装以及运行
目录: http://www.fenby.com/courses/mysqlke-cheng-lian-zai/ 1.下载 2.配置 3.启动服务器 4.启用客户端并修改用户信息 1.mysql的下载 ...