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.函数名其实就是一个 ...
随机推荐
- js : json和 cookie 的简单操作
使用 cookie,可以记录用户的最近的浏览历史 <!DOCTYPE HTML> <html lang="zh-cn"> <head> < ...
- lucene 分词实现
一.概念认识 1.常用的Analyer SimpleAnalyzer.StopAnalyzer.WhitespaceAnalyzer.StandardAnalyzer 2.TokenStream 分词 ...
- Sublime Text 3插件安装
自动安装: 1.通过快捷键 ctrl+` 或者 View > Show Console 菜单打开控制台 2.粘贴对应版本的代码后回车安装 适用于 Sublime Text 3: import ...
- 01 初识python
python.exe -v / python3 -v安装python3时, 会得到一个 IDLE(提示符>>>), 简单, 有用, 包含语法编辑器(颜色可变), 调试工具, pyth ...
- golang 管道
2.管道简介Golang的原子并发特性使得它很容易构造流数据管道,这使得Golang可有效的使用I/O和多CPU特性.本文提出一些关于管道的示例,在这个过程中突出了操作失败的微妙之处和介绍处理失败的具 ...
- ThinkPHP3.2.3使用cli命令行模式
使用tp3.2.3的cli模式时,报错.加上绝对路径还是报错.所以采用普通模式 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require ...
- 理解HTTP幂等性
转载: 理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API ...
- PageRank理论与实践及用户评分应用PeopleRank算法
PageRank,网页排名,又称网页级别.Google左侧排名或佩奇排名,是一种由根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一. Google用它来体现网页的相关性和重要性,在搜索引擎 ...
- caffe安装过程中遇到的问题以及解决方法
1. 在安装依赖库的时候,遇到: @gxjun-Latitude-E5440:~$ sudo apt-get install libatlas-base-dev 正在读取软件包列表... 完成 正在分 ...
- C# 中正确实现 IDisposable 接口
作用 此接口的主要用途是释放非托管资源. 当不再使用托管对象时,垃圾回收器会自动释放分配给该对象的内存. 但无法预测进行垃圾回收的时间. 另外,垃圾回收器对窗口句柄或打开的文件和流等非托管资源一无所知 ...