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 列表,元组,集合,字典的操作及方法 和 深浅拷贝的更多相关文章

  1. Python—列表元组和字典

    Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...

  2. Python成长笔记 - 基础篇 (三)python列表元组、字典、集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...

  3. python—列表,元组,字典

    ——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改)  list(类)    (有序的) [1]索引取值:切片取值:for循环:whi ...

  4. Python列表元组和字典解析式

    目录 列表解析式List comprehensive 集合解析式Set comprehensive 字典解析式Dict comprehensive 总结 以下内容基于Python 3x 列表解析式Li ...

  5. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  6. python运算符,数据类型,数据类型操作,三目运算,深浅拷贝

    算数运算符: Py2中精确除法需要导入:from __future__ import division,(符由特  ,将来的.滴未省,除法) py3不需要导入 赋值运算符: 比较运算符: 成员运算符: ...

  7. Python 入门之代码块、小数据池 与 深浅拷贝

    Python 入门之代码块.小数据池 与 深浅拷贝 1.代码块 (1)一个py文件,一个函数,一个模块,终端中的每一行都是代码块 (代码块是防止我们频繁的开空间降低效率设计的,当我们定一个变量需要开辟 ...

  8. Python列表,元组,字典,集合详细操作

    菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...

  9. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

随机推荐

  1. 使用Apache commons email发送邮件

    今天研究了以下怎么用java代码发送邮件,用的是Apache的commons-email包. 据说这个包是对javamail进行了封装,简化了操作. 这里讲一下具体用法吧 一.首先你需要有邮箱账号和一 ...

  2. WPF入门(1)

    开始对WPF动手,从0开始一步一步深入学习 1)参考文档:msdn.<WPF编程宝典:使用C#2012和NET 4.5 第4版> 2)开发工具:Microsoft Visual Studi ...

  3. Python 为什么推荐蛇形命名法?

    关于变量的命名,这又是一个容易引发程序员论战的话题.如何命名才能更具有可读性.易写性与明义性呢?众说纷纭. 本期"Python为什么"栏目,我们将聚焦于变量命名中的连接方式,来切入 ...

  4. [置顶] linux中fork()函数详解(原创!!实例讲解)

    分类: 计算机系统 linux2010-06-01 23:35 60721人阅读 评论(105) 收藏 举报 linux2010存储  一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源 ...

  5. Golang实现数的几种遍历

    目录 PreOrder recursive Iterative InOrder Iterative PostOrder Iterative PreOrder recursive package mai ...

  6. 动力节点 mysql 郭鑫 34道经典的面试题三

    1.第十五题 15.列出受雇日期早于其直接上级的所有员工编号.姓名.部门名称 思路一:第一步将emp a看成员工表,将emp b 看成领导表,员工表的mgr字段应该等于领导表的主键字段 mysql&g ...

  7. IDEA创建SpringBoot的多模块项目教程

    最近在写一个多模块的SpringBoot项目,基于过程总了一些总结,故把SpringBoot多个模块的项目创建记录下来. 首先,先建立一个父工程: (1)在IDEA工具栏选择File->New- ...

  8. Flask03-Form

    ## Web 表单 配置 为了能够处理 web 表单,我们将使用 Flask-WTF ,该扩展封装了 WTForms 并且恰当地集成进 Flask 中. 许多 Flask 扩展需要大量的配置,因此我们 ...

  9. .net Core中如何读取Appsetting配置文件

    现在APPSetting下面配置以下节点 { "Logging": { "IncludeScopes": false, "LogLevel" ...

  10. JavaScript基础函数的属性:记忆模式(019)

    函数在Javascript里是有属性的,因为它们是一种特殊对象.事实上,就算是没有明确声明,函数在最初就已经包含了一些固有的属性,比如所有函数都length这个属性,它可以指出函数声明了多少个参数: ...