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.函数名其实就是一个 ...
随机推荐
- 【树莓派】 Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/c/chkconfig/chkconfig_11.4.54.60.1debian1_all.deb Could not resolve 'mirrordirector.raspbian.org'
在安装chkconfig的过程中,遇到如下问题: haochuang@raspberrypi:~/webapp $ sudo apt-get install chkconfigReading pack ...
- Angular 2.0 的设计方法和原则
转载自:Angular 2.0 的设计方法和原则 在开始实现Angular 2.0版本之际,我们认为应该着手写一些东西,告诉大家我们在设计上的考虑,以及为什么做这样的改变.现在把这些和大家一起分享,从 ...
- 看懂UML类图
这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图所表达的含义和最终的代码 ...
- sublime必备插件
安装插件 安装插件时,先使用Ctrl+Shift+P(Tools→Command Palette...)打开控制面板,输入PackageControl 回车 显示. 选择Package Contr ...
- Codeforces Round #267 (Div. 2)
A #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
- mac系统安装node
1.node 是通过brew来安装的,所以第一步先安装brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebre ...
- Fibers in JVM
转载: Fibers in JVM
- AX2012修改properties字体
参考自http://www.ithao123.cn/wenku/list_310_2.html static void GD_Eric_ChangeUserinfoFont(Args _args){ ...
- python——进程基础
我们现在都知道python的多线程是个坑了,那么多进程在这个时候就变得很必要了.多进程实现了多CPU的利用,效率简直棒棒哒~~~ 拥有一个多进程程序: #!/usr/bin/env python #- ...
- php gettext 注释
//setlocale(LC_ALL, "en_US.UTF-8"); setlocale(LC_ALL, "zh_CN.UTF-8"); bindtextdo ...