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.函数名其实就是一个 ...
随机推荐
- jquery总结06-动画事件02-上卷下拉动画
.slideDown() 下拉动画 动画执行之后的操作写在回调函数里 $("ele").slideDown(1000, function() { //等待动画执行1秒后,执行别的动 ...
- css3 3D旋转效果
css3 record2 css3 3D旋转效果 需理解transform css3知识: keyframes transform perspective jsfiddle demo keyframe ...
- Redis教程(一):Redis简介
转自:http://www.jb51.net/article/65240.htm 一.简介: 在过去的几年中,NoSQL数据库一度成为高并发.海量数据存储解决方案的代名词,与之相应的产品也呈现出雨后春 ...
- 转:Java中abstract和interface的区别
转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...
- mybatis原理
http://blog.csdn.net/column/details/mybatis-principle.html?page=1
- CentOS 配置防火墙操作实例(启、停、开、闭端口):
CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status< ...
- adb push命令的使用
最近刚接触一种工具(命令),什么命令呢?就是adb命令,对这个命令纯属一个小白鼠,什么都不懂,所以只能adb --help 一下参数,然后就尝试着使用. 今天遇到一个问题,需要将某个文件拷到小机上面, ...
- 从github拉取项目到myeclipse本地
1.首先拿到jacky-lulu分享的地址 https://github.com/jacky-lulu1/cxf_client 2.登录jacky-lulu账号,fork一份cxf_client到自己 ...
- 使用requestAnimationFrame做动画效果二
3月是个好日子,渐渐地开始忙起来了,我做事还是不够细心,加上感冒,没精神,今天差点又出事了,做过的事情还是要检查一遍才行,哎呀. 使用requestAnimationFrame做动画,我做了很久,终于 ...
- pdf预览-js版本
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...