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. map处理:map(str,[1,2,3,4,5,6])

    #map(s1,s2)传入两个参数,s1是对该Iterable每个参数做处理的参数,s2是该Iterable print(list(map(str,[1,2,3,4,5,6]))) #map()传入的 ...

  2. CSS文本相关之水平排列[4]

    在正常流中,文本都是从左往右.自上而下排列显示,如果想要改变排列方向的话,可以通过CSS属性来改变. text-align属性 文本排列(text-align)可改变文本在水平上的方向,但不改变内部的 ...

  3. 搭建redis哨兵模式

    搭建redis哨兵模式,一主两从三哨兵   1.从官网下载redis安装包:此处是redis-5.0.7.tar.gz 2.上传到目录 /utxt/soft 3.解压 4.cd /utxt/soft/ ...

  4. go 项目目录结构

    网上有很多误人子弟的教程,   说项目下必须要有src,   傻逼玩意. 正确的路径应该是这样的: 所有go项目路径 src 项目1 项目2 项目N pkg bin 不是所有项目下必须建src, pk ...

  5. Ubuntu16.06常见服务搭建

    摘要 系统环境Ubuntu 16.04 amd64 隔一段时间要配一次服务记不住,记录在这里方便以后安装. 目前更新了以下服务: ssh samba vimrc // 20200126更新 ssh 安 ...

  6. Nginx安装配置介绍(二)

    一:Nginx安装(Windows) 官网地址:https://nginx.org/en/download.html 解压完成后,文件目录如下: 启动Nginx: 直接双击目录下的nginx.exe, ...

  7. Oracle调用Java方法(下)复杂Jar包封装成Oracle方法以及ORA-29521错误

    上一篇随笔中已经说了简单的Jar是如何封装的,但是我的需求是根据TIPTOP的查询条件产生XML文件并上传到FTP主机中,那么就要涉及到XML生成的方法和FTP上传的方法 所以在Eclipse写的时候 ...

  8. 个人项目-Wc-Java

    一.Github项目地址: https://github.com/Heiofungfming/xiaoming01 二.PSP表格 PSP2.1 任务内容 计划完成需要的时间(min) 实际完成需要的 ...

  9. 使用nginx配置域名及禁止直接通过IP访问网站

    前段时间刚搭建好个人网站,一直没有关注一个问题,那就是IP地址也可以访问我的网站,今天就专门研究了一下nginx配置问题,争取把这个问题研究透彻. 1. nginx配置域名及禁止直接通过IP访问 先来 ...

  10. vue基础入门(2.3)

    2.3.样式绑定 2.3.1.绑定class样式 1.绑定单个class <!DOCTYPE html> <html lang="en"> <head ...