Python笔记-集合,拷贝

对于列表,元组,集合的异同,有如下解释

#list ----> 允许重复的集合,修改# tuple ----> 允许重复的集合,不修改# set   ----> 不允许重复的集合下面是示例代码:
 1 s1 = set()
 2 s2 = {1,2,3,4}
 3 s3 = set([11,22,33,44])
 4 s4 = {3,4,5,6,89}
 5 print type(s2)   #<type ‘set‘>
 6 s1.add(44)
 7 print s1         #set([44])
 8 s1.clear()
 9 print s1         #set([])
10 print s2.difference(s4)  #set([1, 2]) (s1中存在,s2中不存在的)
11
12 print s2        #set([1, 2, 3, 4])
13 diff = s2.difference_update(s4)
14 print s2        # s1中存在,s2中不存在的,更新s1,  set([1, 2])
15 print diff
16
17 s3.discard(44)
18 print s3
19 s3.discard(55)      #要移除的元素不存在时,不报错
20 print s3
21 s3.remove(66)       #要移除的元素不存在时,报错
22
23 s5 = {77,88,99}
24 s6 = {88,77}
25 ret1 = s5.intersection(s6)
26 print ret1      #取交集  set([77])
27
28 s5.intersection_update(s6)
29 print s5       #取交集,更新s5
30 ret2 = s5.isdisjoint(s6)
31 print ret2     #有交集是false
32
33 ret3 = s5.issubset(s6)
34 print ret3      #判断s5是否为s6的子序列
35
36 ret4 = s5.issuperset(s6)
37 print ret4     #判断s5是否为s6的父序列
38
39 ret5 = s6.pop()
40 print ret5     #88
41 print s6       #set([77])
42
43 ret6 = s2.symmetric_difference(s4)
44 print ret6     #set([1, 2, 5, 6]) s2中存在的,s4不存在,+ s4存在,s2不存在
45
46 ret7 = s2.union(s4)
47 print ret7     #set([1, 2, 3, 4, 5, 6])取并集
48
49 s2.update(s4)
50 print s2        #set([1, 2, 3, 4, 5, 6, 89])并在一起

三元运算的形式:name = 值1 if 条件 else 值2

下面是普通的运算:

1 if 1 == 1 :
2     name = "alex"
3 else:
4     name = "eric"5 print name

下面是三元运算:

1 name = "alex" if 1 == 1 else "eric"
2 print name

拷贝:字符串数字,拷贝,赋值,地址深浅拷贝无意义,因为字符串的优化机制,ID都是一样的



1 import copy
2 n1 = 123
3 print id(n1)
4 n2 = n1
5 print id(n2)
6 n3 = copy.copy(n1)
7 print id(n3)
深拷贝全部拷贝,除了最内一层,浅拷贝只拷贝了最外面一层,所以K1的ID是一样的。
1 n4 = {"k1":"wu","k2":123,"k3":["alex",456]}
2 n5 = copy.copy(n4)
3 print "n4 id:" + str(id(n4))
4 print "n5 id:" + str(id(n5))
5
6 print id(n4[‘k1‘])
7 print id(n5[‘k1‘])
8 #39516400
9 #39516400
 
 
时间: 2024-10-05 04:09:25

Python笔记-集合,拷贝的相关文章

python笔记--深浅拷贝

深浅拷贝 1.对于数字.字符串和元组而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址,例如: >>> n1=123 >>> import copy >>> n2=n1    #赋值 >>> print(id(n2)) 31427456 >>> print n2 123 >>> n2=copy.copy(n1)    #浅拷贝 >>> print(id(n2)) 314

python笔记--集合

集合set set和dict类似,也是一组key的集合,但不存储value.所以,特点是无序.不重复.基本功能包括消除重复元素和关系测试. 集合对象还支持并.交.差.对称差数学运算. 一.定义集合 >>> s=set([1,2,3]) >>> s set([1, 2, 3]) 要创建一个set,需要提供一个list作为输入集合, 注意:传入的参数[1, 2, 3]是一个list,而显示的set([1, 2, 3])只是告诉你这个set内部有1,2,3这3个元素,显示的[

python笔记集合

1.win_64下编译pyd(编译器用的tdm-gcc-5.1) gcc test.c -shared -Ic:\Python27\include -Lc:\Python27\libs -lpython27 -o test.pyd -D MS_WIN64 如果没有-D MS_WIN64就会出现错误: undefined reference to `__imp_Py_InitModule4' 编译的pyd文件拷贝到:C:\Python27\Lib\site-packages 以后有记录记在评论里面

嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&amp;seid=10211084839195730432#page=25 中的38-41讲

# -*- coding: utf-8 -*-#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的38-41讲# 文件# 文件是存储在外部介质上的数据或信息的集合# 文件是有序的数据序列# 常用的编码# ASCII码是标准化字符集# 7个二进制位编码# 表示128个字符 # ord() 将字符转化为ASCII码, chr() 将AS

玩蛇(Python)笔记之基础Part3

玩蛇(Python)笔记之基础Part1 一.集合 1.set 无序,不重复序列 {}创建,直接写元素 2.set功能 __init__()构造方法,,使用强制转换就会调用此方法 1 set1 = {'year', 'jiujiujiu'} 2 print(type(set1)) 3 # 创建集合 4 s = set() # 创建空集合 5 li = [11, 22, 11, 22] 6 s = set(li) set 3.集合的基本操作 1 # 操作集合 2 s1 = set() 3 s1.a

Python笔记(四)

在<Python笔记(三)>中,我记录关于Python中序列问题的知识.个人觉得确实比Java中的集合框架简单.之前也说了,Python是一种高级面向对象的语言,它的每一个变量都称为对象.今天我接触了面向对象的编程.下面是这篇博客的目录: 1.类与对象 2.输入输出 3.异常 类与对象: 我们都知道面向对象的语言具备四个特性:抽象,继承,封装,多态.Java,C++是这样,Python也不例外.在Python中,我们定义一个类,使用关键字class.形式如下:class classname:.

python笔记之列表和元组

pyhton的列表和元组,说白了其实就是一种数据结构,只是在python当中更加方便的去操作而已.. 1.序列 其实字符串就是采取序列的方式的: string = "hello" print string[0] 结果为:h 对比其他编程语言,python还有一个负值索引的概念: 序列的分片: first = [0,1,2,3,4,5,6,7,9] print first[1:6:2] 针对first[1:6:2]这条语句: 1代表的起始索引,不写,默认为0 6代表结束索引,不写默认为所

玩蛇(Python)笔记之基础Part2

玩蛇(Python)笔记之基础Part2 一.列表 1.列表 别的语言叫数组 python牛逼非要取个不一样的名字 1 age = 23 2 name = ["biubiubiu", "jiujiujiu", 22, age] 3 # namecopy = name 4 # namecopy.pop() 5 print(name) 6 # print(namecopy) List 2.列表取值 正常index 从零开始,,取倒数加负号 倒数第一就是[-1] 3.列表

嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&amp;seid=15873837810484552531 中的15-22讲

#coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的15-22讲#数字类型的关系#三种类型存在一种逐渐扩展的关系:#整数 ->浮点数 ->复数(整数是浮点数的特殊,浮点数是复数的特殊)#不同数字类型之间可以进行混合运算,运算后生成的结果为最宽类型.如整数+浮点数=浮点数#三种类型可以相互转换#函数:int(), fl