day8 python 列表,元组,集合,字典的操作及方法 和 深浅拷贝
2.2 list的方法
# 增
list.append() # 追加
list.insert() # 指定索引前增加
list.extend() # 迭代追加(可迭代对象,打散追加)
# 删
list.pop() # 指定索引删除(默认删最后一个元素,返回值为删除对象,没有则报错)
list.remove() # 指定元素删除(若有相同元素,默认删除第一个)
list.clear() # 清空
# 其他
list.index() # 获取元素的索引(可指定范围)
list.count() # 获取元素的个数
list.sort() # 排升序
list.sort(revarse = True) # 排降序
list.reverse() # 反转
list.copy() # 复制
3、深浅拷贝
import copy
# 浅拷贝(只拷贝第一层)
lst = [1,2,3,[4,5,6]]
lst1 = lst
lst2 = copy.copy(lst)
lst.append(7)
print(lst1,lst2) # [1, 2, 3, [4, 5, 6], 7] ------ [1, 2, 3, [4, 5, 6]]
lst[3].append(888)
print(lst1,lst2) # [1, 2, 3, [4, 5, 6, 888], 7] ----- [1, 2, 3, [4, 5, 6, 888]]
# 深拷贝
lst = [1,2,3,[4,5,6]]
lst1 = lst
lst2 = copy.deepcopy(lst)
lst.append(7)
print(lst1,lst2) # [1, 2, 3, [4, 5, 6], 7] ----- [1, 2, 3, [4, 5, 6]]
lst[3].append(888)
print(lst1,lst2) # [1, 2, 3, [4, 5, 6, 888], 7] ----- [1, 2, 3, [4, 5, 6]]
4、tuple
tuple.index() # 获取元素的索引(可指定范围)
tuple.count() # 获取元素的个数
5、dict
# 增
dict = {}
lst = ["name","age","happy"]
dict.fromkeys(lst,None) # 创建默认值字典
# 删
dict.pop("key","返回的默认值") # 不设置默认值,没有找到会报错
dict.popitem() # 删除最后一组键值对
dict.clear() # 清空
# 改
dict.updata() # 批量更新
# 查
dict.get("key","返回的默认值") # 不设置默认值,没有找返回None
dict.keys() # 获取所有 key ,返回可迭代对象,非列表
dict.values() # 获取所有 value,返回可迭代对象,非列表
dict.items() # 获取所有键值对 ,返回可迭代对象,非元组
6、set
6.1 set的操作
s1 = {0,1,3,5,7,9}
s2 = {0,2,4,5,6,8}
# 交集 ===== &
s1.intersection(s2) # s1 & s2 ------> {0, 5}
# 查集 ===== -
s1.difference(s2) # s1 - s2 ------> {1, 3, 9, 7}
s2.difference(s1) # s2 - s1 ------> {8, 2, 4, 6}
# 并集 ===== |
s1.union(s2) # s2 | s1 ------> {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
# 对称差集
s1.symmetric_difference(S2) # s2 ^ s1 ------> {1, 2, 3, 4, 6, 7, 8, 9}
s1 = {1,2,3}
s2 = {1,2,3,4,5,6}
# 判断子集
s1.issubset(s2) # s1 < s2 ------> True
# 判断父级
s1.issuperset(s2) # s1 > s2 ------> False
# 判断是否无相交
s1.isdisjoint(s2) # False
6.2 set 的方法
# 增
set.add() # 单个增加
set.updata() # 迭代增加
# 删
set.pop() # 随机删除
set.remove() # 指定元素删除,不存在会抱错
set.discard() # 指定元素删除,不存在不报错
set.clear() # 清空
6.3 冰冻集合
# 强制转换成frozenset对象,只能做交差并补操作
s1 = [0,1,3,5,7,9]
res = frozenset(s1)
day8 python 列表,元组,集合,字典的操作及方法 和 深浅拷贝的更多相关文章
- Python—列表元组和字典
Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...
- Python成长笔记 - 基础篇 (三)python列表元组、字典、集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...
- python—列表,元组,字典
——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改) list(类) (有序的) [1]索引取值:切片取值:for循环:whi ...
- Python列表元组和字典解析式
目录 列表解析式List comprehensive 集合解析式Set comprehensive 字典解析式Dict comprehensive 总结 以下内容基于Python 3x 列表解析式Li ...
- python列表元组
python列表元组 索引 切片 追加 删除 长度 循环 包含 定义一个列表 my_list = [] my_list = list() my_list = ['Michael', ' ...
- python运算符,数据类型,数据类型操作,三目运算,深浅拷贝
算数运算符: Py2中精确除法需要导入:from __future__ import division,(符由特 ,将来的.滴未省,除法) py3不需要导入 赋值运算符: 比较运算符: 成员运算符: ...
- Python 入门之代码块、小数据池 与 深浅拷贝
Python 入门之代码块.小数据池 与 深浅拷贝 1.代码块 (1)一个py文件,一个函数,一个模块,终端中的每一行都是代码块 (代码块是防止我们频繁的开空间降低效率设计的,当我们定一个变量需要开辟 ...
- Python列表,元组,字典,集合详细操作
菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
随机推荐
- 使用Apache commons email发送邮件
今天研究了以下怎么用java代码发送邮件,用的是Apache的commons-email包. 据说这个包是对javamail进行了封装,简化了操作. 这里讲一下具体用法吧 一.首先你需要有邮箱账号和一 ...
- WPF入门(1)
开始对WPF动手,从0开始一步一步深入学习 1)参考文档:msdn.<WPF编程宝典:使用C#2012和NET 4.5 第4版> 2)开发工具:Microsoft Visual Studi ...
- Python 为什么推荐蛇形命名法?
关于变量的命名,这又是一个容易引发程序员论战的话题.如何命名才能更具有可读性.易写性与明义性呢?众说纷纭. 本期"Python为什么"栏目,我们将聚焦于变量命名中的连接方式,来切入 ...
- [置顶] linux中fork()函数详解(原创!!实例讲解)
分类: 计算机系统 linux2010-06-01 23:35 60721人阅读 评论(105) 收藏 举报 linux2010存储 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源 ...
- Golang实现数的几种遍历
目录 PreOrder recursive Iterative InOrder Iterative PostOrder Iterative PreOrder recursive package mai ...
- 动力节点 mysql 郭鑫 34道经典的面试题三
1.第十五题 15.列出受雇日期早于其直接上级的所有员工编号.姓名.部门名称 思路一:第一步将emp a看成员工表,将emp b 看成领导表,员工表的mgr字段应该等于领导表的主键字段 mysql&g ...
- IDEA创建SpringBoot的多模块项目教程
最近在写一个多模块的SpringBoot项目,基于过程总了一些总结,故把SpringBoot多个模块的项目创建记录下来. 首先,先建立一个父工程: (1)在IDEA工具栏选择File->New- ...
- Flask03-Form
## Web 表单 配置 为了能够处理 web 表单,我们将使用 Flask-WTF ,该扩展封装了 WTForms 并且恰当地集成进 Flask 中. 许多 Flask 扩展需要大量的配置,因此我们 ...
- .net Core中如何读取Appsetting配置文件
现在APPSetting下面配置以下节点 { "Logging": { "IncludeScopes": false, "LogLevel" ...
- JavaScript基础函数的属性:记忆模式(019)
函数在Javascript里是有属性的,因为它们是一种特殊对象.事实上,就算是没有明确声明,函数在最初就已经包含了一些固有的属性,比如所有函数都length这个属性,它可以指出函数声明了多少个参数: ...