码迷,mamicode.com
首页 > 编程语言 > 详细

python 之路 day10 函数

时间:2017-09-10 12:40:47      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:深浅拷贝   浅拷贝   不同   相同   enc   logs   pytho   指针   方式   

一:深浅拷贝 :  s = [ [1,2] ,3  ,4  ]       s1 = s.copy()  ,   s1[0][0] = 8 ,  print (s) ,print (s1),   两个的结果都为 [   [8,1] ,  3 ,4  ]   首先是因为列表是可以修改的,再一个跟指针有关系,具体图如下:技术分享技术分享

 

浅拷贝(shallow copy) 只会拷贝第一层,如上面的 3,4 ,因为只有一个指针指向

深拷贝(deep copy): 全部克隆  需要模块, import copy

二 : set  集合: 把不同的元素组合在一起,只有一种创建方式 , s = set (‘ fanxi‘)  print (s)     s = {‘f‘,‘a‘,‘n‘,‘x‘,‘i‘}   .  可以去重。。 s = [  ‘11‘,‘22‘.‘333‘ ‘11‘  ]  print s 打印出来 是集合 {},在强制转换为list  .

set 里的元素必须是可哈希的,也就是不可变的, 比如 字符串,整形 ,键, 元组, 但是列表就不可以。出来的元素是无序的,以后可以用 for 循环 或者迭代器 取。用In or not in判断是否在里面

set 是可变集合,还有不可变集合(frozenset)

三 。 可变集合的更新。 s.add(‘ss‘) 添加一个元素。  s.update( ‘ccc‘  )  ‘c’,‘c‘,‘c‘  是这样打印出来的。 s.update(  [ 12,‘eee‘   ]   )  也是添加进去。  s.remove  (   ) 

四,子集超集, 就是数学的关系了,   print ( set( ‘aaa‘  or  set(‘  aaa ‘)  )    ) : 两个随机取一个打印。不对,我自己试了几次,相同的,不同的都不一样了。这里有点懵, 很乱, 日后遇见了再仔细探索吧。 

intersection 交集,  union 并集。 差集: print (a.differrence(b)) a里有而b里没有。 

python 之路 day10 函数

标签:深浅拷贝   浅拷贝   不同   相同   enc   logs   pytho   指针   方式   

原文地址:http://www.cnblogs.com/fanxiangqi/p/7500563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!