《Python》 基础数据类型补充和深浅copy
一.基础数据类型的补充
元组:
如果元组中只有一个数据,且没有逗号,则该‘元组’数据类型与里面的数据类型一致
列表:
列表之间可加不可减,可跟数字相乘
l1=['wang','rui']
l2=['chen']
l3=l1+l2
print(l3)
将列表中索引为奇数的元素,全部删除:
l1=[11,22,33,44,55,66,77,88]
l2=[]
(1)del l1[1::2]
print(l1)
(2)for i in l1:
if i % 2 ==1:
l2.append(i)
l1=l2
print(l1)
(3)for i in range(len(l1)-1,-1,-1):
if i % 2==1:
l1.pop(i)
print(l1)
在循环一个列表时,如果对列表中的某些元素进行删除,
那么此元素后面的所有元素就会向前进一位,他们的索引就会发生变化。
在循环一个列表时,最好不要对此列表进行改变大小(增删)的操作。
字典:
fromkeys():创建一个新的字典 只改变key,不改变values
dic1 = dict.fromkeys([1,2,3],'alex')
print(dic1)
面试题:创建字典的方式
1,
dic = {'name':'alex'}
2,
dic = dict({'name':'alex'})
print(dic)
3, fromkeys() 陷阱:
dic1=dict.fromkeys([1,2,3],[])
print(dic1)
dic1[1].append(666)
print(dic1)
print(id(dic1[1]))=print(id(dic1[2]))=print(id(dic1[3])) 二、集合set
set:
集合要求里面的元素必须是不可变的数据类型,但是集合本身是可变的数据类型
集合里面的元素不重复,无序。
用途:去重、关系测试 list去重
l1=[1,2,3,4,1,1,2,3]
set1=set(l1)
print(set1) 集合的增删:
set1={'yang','wang',1,2,3}
set1.add('zhang') 增
print(set1)
set1.update('abc') 迭代增加
print(set1)
set1.remove(1) 删 元素
print(set1)
set1.pop() 随机
print(set1)
set1.clear() 清空
print(set1)
del set1 删除
print(set1)
关系测试:
set1={1,2,3,4,5}
set2={1,2,3,6,7}
print(set1&set2) 交集
print(set1.intersection(set2))
print(set1|set2) 并集
print(set1.union(set2))
print(set1^set2) 反交集
print(set1.symmetric_difference(set2))
print(set1-set2) 差集
print(set2.difference(set1)) set3={1,2,3}
set4={1,2,3,4,5}
print(set3<set4) 子集
print(set3.issubset(set4))
print(set3>set4) 超集
print(set3.issuperset(set4)
set1={1,2,3}
set2=frozenset(set1) #冻
print(set2)
frozenset 不可变的数据类型
三、深浅copy
浅copy:
l1=[1,2,3,4,[22,1]]
l2=l1.copy()
l1.append(999)
print(l2)
l1[-1].append(999)
print(l2) 深copy:
import copy
l1=[2,3,4,5,[7,8]]
l2=copy.deepcopy(l1)
print(l2)
l1[-1].append(666)
print(l2) 应用场景:
深copy:完全独立的copy一份数据,与原数据无关系。
浅copy:如果一份数据,第二层开始,你想与原数据进行共用。 面试题:
切片属于浅copy
《Python》 基础数据类型补充和深浅copy的更多相关文章
- Python基础数据类型补充及深浅拷贝
本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷贝主要内容:一. 基础数据类型补充首先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的自己看一看就可以了.我们补充给一 ...
- python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...
- python基础数据类型补充
python_day_7 一. 今日主要内容: 1. 补充基础数据类型的相关知识点 str. join() 把列表变成字符串 列表不能再循环的时候删除. 因为索引会跟着改变 字典也不能直接循环删除.把 ...
- Python 基础之函数、深浅copy,set及练习
三元运算符通常在Python里被称为条件表达式,这些表达式基于真(true)/假(not)的条件判断,在Python 2.4以上才有了三元操作. 语法格式: X if C else Y 有了三元表达式 ...
- 基本数据类型补充,深浅copy
#str s=' ' #只能是以至少一个空格组成的字符串(全空格) print(s.isspace()) #tuple 当元组只有一个元素组成,并没有",",则该元素是什么数据类型 ...
- Python——基础数据类型(补充)
1.基础数据类型汇总补充 (1)小数据池: 为了节省空间,数字和字符串有,其他的没有[了解] 数字:-5---256之间的数字共用一个内存地址 #(1)i1 = i2 id(i1) == id ...
- python基础数据类型补充以及编码的进阶
一.基本数据类型的补充循环列表改变列表大小的问题#请把列表中索引为基数的元素写出l1=[1,2,3,4,5,6]for i in l1: if i%2!=0: print(i)结果:135二:基本数据 ...
- python之数据类型补充、集合、深浅copy
一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...
- 基础数据类型补充 set集合 深浅拷贝
一.基础数据类型补充 1. "拼接字符串".join(可迭代对象) 可迭代对象为列表时,输出列表元素与拼接字符串的拼接 li = ['张三', '李四', '王五', '赵四'] ...
随机推荐
- linux下的下载之道
a.场景: 平时会使用百度网盘下载电影,但是用ios版的百度云实在是有点慢,而平时不用windows,因此只能在linux上寻找解决之道. b.背景(我正在使用中): linux:ubuntu 14. ...
- JavaScript 开闭原则OCP
代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- git的软件安装
1.Git for Winodws 1.*的版本 https://github.com/msysgit/msysgit/releases 2.*的版本 https://github.com/g ...
- MongoDB树形结构表示法
http://docs.mongodb.org/manual/tutorial/model-tree-structures/ MongoDB五种树形结构表示法 第一种:父链接结构 db.categor ...
- 2017年P4中国峰会北京站 会议小结
2017 P4 中国峰会 北京 本次会议依然侧重介绍P4,并highlight P4的benifit,大致分为以下几类: 1.学术界 - 未来网络的发展,为何提出P4技术? 未来网络和实体经济.其他学 ...
- 怎么彻底删除2345的各种顽固Process
清晨打开电脑,都是2345的不良新闻,心情不美美哒 2345如何卸载? “C:\Windows\System32\drivers”目录删除Mslmedia.sys 开始-运行-cmd输入“sc del ...
- InChat版,仅仅两个接口实现自己的IM系统(可兼容)
InChat 一个IM通讯框架 一个轻量级.高效率的支持多端(应用与硬件Iot)的异步网络应用通讯框架.(核心底层Netty) 版本目标:完成基本的消息通讯(仅支持文本消息),离线消息存储,历史消息查 ...
- js匿名函数和闭包总结
js匿名函数和闭包总结 一.总结 一句话总结:匿名函数的最主要作用是创建闭包,闭包就是将函数内部和函数外部连接起来的一座桥梁.内层的函数可以使用外层函数的所有变量,即使外层函数已经执行完毕.闭包可以用 ...
- codeforces 576c// Points on Plane// Codeforces Round #319(Div. 1)
题意:有n个点,找到一个顺序走遍这n个点,并且曼哈顿距离不超过25e8. 由于给的点坐标都在0-1e6之间.将x轴分成1000*1000,即1000长度为1块.将落在同一块的按y排序,编号为奇的块和偶 ...
- 牛客网暑期ACM多校训练营(第三场)DEncrypted String Matching fft
题意:给你一个解密后的字符串,给你加密方式,加密过程可能出错,字符可能加减1,然后给你一个字符串,要求匹配个数(其实我也不太懂具体怎么加密解密,反正你把给你的前两个字符串用第三个加密一下,然后搞可以有 ...