day_07 深浅拷贝
1. 基础数据类型的补充
1字符串的操作:
1.join 把字符串或者列表的的内拼接,拼接成字符串 和split相反--把字符串转换成列表
2.删除 字典和列表在循环中是不能进行删除的,可以在循环中把要删除的内容放入一个列表中
,再循环新列表,删除老列表.或者就是用pop()从后面往前面删
3.fromkeys
dict.fromkeys(iters,value) 把可迭代对象进行迭代,并和后面的value组合成键值对,并返回字典
坑1:这个过程是新建一个字典并赋值的过程,不会改变原来的字典
dic={}
dic.fromkeys(iters,value)
print(dic)
坑2:
d=fromkeys(iters,[])
生成的新字典的每一个每一个value值都是相同的[],所以不管那个key的value改变都一起改变,因为value值是同一个
2.set集合{}
1.特点:
无序,不重复的,内部元素必须可哈希:内部元素是属于不可变的类型
2. 作用
去重:lst=list(set(lst)
3.增改删查:
1.增:
add()
update("xx")
2.改:
set没有索引,所以没办法定位元素,只能删除后再添加
remove()
add()
3.删除
pop() 随机弹出一个
remove("") 直接删除元素
claer() 清空后是set(),因为要和dic区分
4.查
因为set是一个可迭代对象,所以可用for循环
for el in set:
print(el)
3.深浅拷贝
1.= 赋值,没有产生新对象那个,两个对象指向同一个内存地址,
所以说,如果源对象发生改变,被赋值的对象也跟着改变
2.浅拷贝 .copy() [:]只会拷贝第一层内容,第二层内容不会拷贝
3.深拷贝 import cocy
copy.deepcopy()
深度拷贝,把对象内部所有内容全部拷贝一份
不会产生一个改变,另外一个跟着改变的情况
作用:快速创建对象,减少内存的占用
day_07 深浅拷贝的更多相关文章
- Python 从零学起(纯基础) 笔记 之 深浅拷贝
深浅拷贝 1. import copy#浅拷贝copy.copy()#深拷贝copy.deepcopy()#赋值 = 2. 对于数字和字符串而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个 ...
- python——赋值与深浅拷贝
初学编程的小伙伴都会对于深浅拷贝的用法有些疑问,今天我们就结合python变量存储的特性从内存的角度来谈一谈赋值和深浅拷贝~~~ 预备知识一——python的变量及其存储 在详细的了解python中赋 ...
- Python中的深浅拷贝
1.什么是深浅拷贝? python中一切皆对象,python中的数字.字符串.元组等,如果存放在了内存中,这部分内存里面的内容是不会改变的,但是也有情况,内存中存放了可变对象,比如说列表和字典,他们的 ...
- Python-Day3知识点——深浅拷贝、函数基本定义、内置函数
一.深浅拷贝 import copy #浅拷贝 n1={'k1':'wu','k2':123,'k3':['carl',852]} n2=n1 n3=copy.copy(n1) print(id(n1 ...
- python基础知识5——赋值与深浅拷贝——整数和字符串,列表元组字典
深浅copy 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 import copy 2 # ######### 数字.字符串 #### ...
- python 学习笔记5(深浅拷贝与集合)
拷贝 我们已经详细了解了变量赋值的过程.对于复杂的数据结构来说,赋值就等于完全共享了资源,一个值的改变会完全被另一个值共享. 然而有的时候,我们偏偏需要将一份数据的原始内容保留一份,再去处理数据,这个 ...
- Python开发【第二章】:Python深浅拷贝剖析
Python深浅拷贝剖析 Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果. 下面本文就通过简单的例子介绍一下这些概念之间的差别. 一.对象赋值 ...
- python基础(三元运算+深浅拷贝+函数参数)
三元运算 三元运算,又称三目运算,主要作用是减少代码量,是对简单的条件语句的缩写. 书写格式: result = 值1 if 条件 else 值2 即如果条件成立,则将值1赋给result变量,如果不 ...
- @proprety数组字典字符串用copy和strong区别(深浅拷贝)
//// @proprety数组字典字符串用copy和strong区别(深浅拷贝).h// IOS笔记//// /* _proprety________copy_strong_________h ...
随机推荐
- IP及端口号
IP:代表一台机器 端口号:每一个程序都有一个端口号与之对应 一个域名对应一个虚拟主机
- condition实现通知部分线程
多个condition实现通知部分线程: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks. ...
- Tensorflow手写数字识别训练(梯度下降法)
# coding: utf-8 import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data #p ...
- Boost log中的几个问题
1. 使用动态库时,要定义 BOOST_LOG_DYN_LINK 或者 BOOST_ALL_DYN_LINK 否则会出现如下错误: CMakeFiles/xxxx.dir/xxxx.cpp.o: I ...
- Xcode 运行时找不到xib资源文件
调试运行时候,提示找不到xib(或者其他)资源文件,在工程中确实看的到该资源文件,到具体运行的资源目录([[NSBundlemainBundle] resourcePath]),没有看到该文件,而其他 ...
- mysql双机热备份的实现步骤
MySQL 提供了数据库的同步功能,这对我们实现数据库的冗灾.备份.恢复.负载均衡等都是有极大帮助的.本文描述了常见的同步设置方法.<?xml:namespace prefix = o /> ...
- HTML 4.0 触发事件
HTML 4 的新特性之一是可以使 HTML 事件触发浏览器中的行为,比方说当用户点击某个 HTML 元素时启动一段 JavaScript. 在现代浏览器中都内置有大量的事件处理器.这些处理器会监视特 ...
- 算法导论 寻找第i小元素 9.2
PS1:如果单纯为做出这道题那么这个代价是O(nlgn),通过排序就可以了. 这里讨论的是O(n)的算法.那么来分析一下这个算法是如何做到O(n)的,算了不分析了,这个推到看起来太麻烦了.其实我想知道 ...
- C/C++中char* p = "hello" 和 const char* p = "hello"的区别
在写代码常常都会写char * p ="hello";这样的代码,虽然不是错误,但却不建议这样用.应该加const修饰.这句话背后的内涵是什么?下面就刨根问底一下:) 这个行为在不 ...
- await 与 SynchronizationContext 关系
static async Task DoStep() { //step 1 Debug.WriteLine("DoStep Start thread id: " + System. ...