今日内容:

  1、深浅拷贝

  2、元组

  3、字典

  4、set

1、深浅拷贝

# 1、值拷贝
# 采用赋值的方法进行
# 只会将堆区容器变量与栈区的绑定关系进行复制 # 2、浅拷贝
# 会将堆区与栈区的绑定关系,以及容器类型中包含的每个元素的id进行复制
# 使用方法为 容器类型.copy() # 3、深拷贝
# 会将绑定关系、容器类型、每个元素的值重新复制然后开辟空间进行存储
# 使用方法为:
from copy import deepcopy
deepcopy(原容器)

2、元组

"""
元组的基本操作及常用方法
"""
"""
基本操作
"""
# 1、定义
t1 = (1,5,8,7,6,[10,20,40,50,30],"a","b","c") # 2、索引取值
print(t1[5]) # [10, 20, 40, 50, 30] # 3、切片
print(t1[6::1]) # ('a', 'b', 'c') # 4、遍历
for i in t1:
print(i,end=' ') # 1 5 8 7 6 [10, 20, 40, 50, 30] a b c
print() # 5、计算长度
print(len(t1)) # 6、拼接
print(t1 + (100,200)) # (1, 5, 8, 7, 6, [10, 20, 40, 50, 30], 'a', 'b', 'c', 100, 200) # 7、成员运算
print(100 in t1) # False """
方法
"""
# 1、计数
print(t1.count(1,)) # # 2、查询索引
print(t1.index(8)) #

2、字典的操作及常用方法

  (1)常用操作

"""
字典的操作
"""
# 1、字典的定义
dic = {}
dic = dict(name="andy",age=18,gender="man") # 括号必须用小括号
dic = {}.fromkeys([0,1,2,3,4]) # 将第一个参数作为key值,如果设置第二个参数,则value值为设置的值,如果不设置第二个参数,则默认为 None
# 使用fromkeys创建字典时,所有的值都指向一个空间,如果该空间为可变类型,那么通过key改变一个值,其余的值也会随之改变。
print(dic)
dic = {"name":"andy","age":18,"gender":"man"} # 1、根据key取值
print(dic["name"]) # andy # 2、计算长度
print(len(dic)) # # 3、成员运算 ---> 进行key值得成员运算
print("name" in dic) # True
print("andy" in dic) # False # 4、遍历
for i in dic: # ----> 取出的是key值
print(i) for k,y in dic.items():
print(k,y)

  (2)常用方法

"""
常用方法:
"""
# 1、增 --> 如果字典中不存在某个key,只需要进行赋值操作就可以
dic["weight"] = ""
print(dic) # {'name': 'andy', 'age': 18, 'gender': 'man', 'weight': '50'} # 2、改 --> 如果字典中存在某个key,只需要进行赋值操作就可以
dic["name"] = "lice"
print(dic) # {'name': 'lice', 'age': 18, 'gender': 'man', 'weight': '50'} # 3、查 --> 可以通过key值进行查值
print(dic["age"]) # 18 --> 如果没有索引的key值,会报错
print(dic.get("haha","没有")) # 没有 ---> 没有索引的key值,会返回给定的结果 # 4、删 pop / popitem
item = dic.pop("name") # --> 存在一个返回值,这个返回值就是value
print(item) # ---> 返回值是value
print(dic) # {'age': 18, 'gender': 'man', 'weight': '50'} item = dic.popitem() # 取出最后一个值
print(item) # dic.clear() # 清空字符串 # 从字典里面进行取值
print(dic.items()) # 取出所有的键值对,并以迭代器进行存储 ---> dict_items([('age', 18), ('gender', 'man')])
print(dic.values()) # 取出值,以迭代器尽心存储 ---> dict_values([18, 'man'])
print(dic.keys()) # 取出key值,以迭代器进行存储 ---> dict_keys(['age', 'gender'])

  (3)其它方法

"""
其它方法
"""
# 1、update 方法:
dic = {"name":"andy","age":18,"gender":"man"}
dic_new = {"name":"li","weight":50,"address":"河北"}
dic.update(dic_new)
print(dic) # {'name': 'li', 'age': 18, 'gender': 'man', 'weight': 50, 'address': '河北'} dic_new.update(dic)
print(dic_new) # {'name': 'li', 'weight': 50, 'address': '河北', 'age': 18, 'gender': 'man'} # 2、setdefault 方法:
dic = {"name":"andy","age":18,"gender":"man"}
dic_new = {"name":"li","weight":50,"address":"河北"} dic.setdefault("key",10) # ---> setdefault 括号中至少有一个值,是key,括号中两个值一个是key,一个是value
print(dic) # {'name': 'andy', 'age': 18, 'gender': 'man', 'key': 10}

3、set类型

  (1)常用操作

"""
常用操作
"""
# 1、定义
s1 = set() # ---> 空集合的定义 # 2、增加
s1.add(1) # ---> 将括号中的值添加进 s1 # 3、删除
s1.remove(1) # ---> 从集合中删除指定值 s1 = {"",'','','','','','','',""}
item = s1.pop() # ---> 删除一个值,并将值进行返回
# print(item) s1.clear() # ---> 删除集合中的所有值

  (2)运算

"""
集合的运算
"""
# 1、交集 & ---> 两个集合都包含的值
se1 = {1,2,5,9,8}
se2 = {1,10,7,9,6}
items = se1 & se2
print(items) # --> 是一个集合类型 {1, 9} # 2、合集 | ---> 两个的总和
print(se1 | se2) # {1, 2, 5, 6, 7, 8, 9, 10} # 3、对称交集 ^ ----> 总和 - 交集
print(se1 ^ se2) # {2, 5, 6, 7, 8, 10} # 4、差集 - 集合中独有的部分
print(se1 - se2) # se1中有而se2中没有的 {8, 2, 5}
print(se2 - se1) # se2中有而se1中没有的 {10, 6, 7} # 5、比较 < 必须是包含与被包含关系
s5 = {1,2}
s6 = {1,2,3}
print(s5 < s6) # True
print(s5 > s6) # False

day06 字典、元组、set的方法及常用操作的更多相关文章

  1. [Android L]SEAndroid开放设备文件结点权限(读或写)方法(涵盖常用操作:sys/xxx、proc/xxx、SystemProperties)

    温馨提示      建议你先了解一下上一篇博文([Android L]SEAndroid增强Androd安全性背景概要及带来的影响)所讲的内容,先对SEAndroid窥个全貌,然后再继续本节内容.   ...

  2. selenium常用操作,查找元素,操作Cookie,获取截图,获取窗口信息,切换,执行js代码

    目录: 1. 常用操作 2. 查找元素 3. 操作Cookie 4. 获取截图 5. 获取窗口信息 6. 切换 7. 执行JS代码 简介 selenium.webdriver.remote.webdr ...

  3. DAY06、元组、字典、集合

    一.元组 1.定义:参数为for可以循环的对象 t1 = (1, 2)     t2 = tuple((1, 2))     t3 = (1, )        #定义一个只有一个值的元组 2.常用操 ...

  4. python高级变量类型(元组,列表,字典, 字符串和重要方法)

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  5. day06数据类型----元组、字典、集合

    一.元组(tuple):     python中将一些不能修改的值称为不可变的,而不可变的列表则被称之为元组. 注意元组一旦被定义则不可修改,因此一般我们不定义空元组. 元组是有序的,可存放多个数据| ...

  6. Python元组类型、字典类型及常用操作

    一.元组类型 1.用途 记录多个值,当多个值没有改的需求,此时用元组更合适,Python的元组与列表类似,不同之处在于元组的元素不能修改. 2.定义方式 在()内用逗号分隔开多个任意类型的值 t=(1 ...

  7. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

  8. 元组/字典/集合内置方法+简单哈希表(day07整理)

    目录 二十三.元组内置方法 二十四.字典数据类型 二十五 集合内置方法 二十五.数据类型总结 二十六.深浅拷贝 补充:散列表(哈希表) 二十三.元组内置方法 什么是元组:只可取,不可更改的列表 作用: ...

  9. python之字符串,列表,字典,元组,集合内置方法总结

    目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...

随机推荐

  1. js实现分段上传文件

    使用js实现分段上传文件,本文使用了FileReader对象,可参考:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader 1)获取文 ...

  2. 前序遍历构造已知二叉树(Java)

    public BiNode createBiTree() { Scanner input = new Scanner(System.in); int k = input.nextInt(); if(k ...

  3. openstack 5大组件之间的关系和基本架构思维导图

    云计算是一种按使用量付费的模式,这种模式提供可用的/便捷的/按需的网络访问,进入可配置的计算资源共享池(资源包括网络/服务器/存储/应用软件和服务),这些资源能够被快速提供,只需投入很少的管理工作或与 ...

  4. [转载] .NET 中可以有类似 JVM 的幻像引用吗?

    近日发现一篇不错的文章,文中列举了一些 GC 场景,探讨了 在 .NET 中是需要实现像 JVM 的中的幻像引用.有人质疑其不切实际,也有像 Ayende 大神一言不合就自己做了个 demo. Do ...

  5. vue+typescript基础练习

    环境 win10 node -v 8.9.3 vue-cli 3.4 typescript 3.1.5 编辑器 vscode 目标 使用vuecli工具,建立一个项目,使用typescript.并实现 ...

  6. 微信小程序之:wepy框架

    1.介绍 WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性. 2.使用 npm install -g wepy-cl ...

  7. 关于Mac 系统mysql 乱码问题

    这是由于客户端和服务端的编码没有同一 首先我们先在终端连接mysql  连接方法 mysql -u 用户名  -p  即可 然后输入你的密码 这里就不多说了 然后我们输入   show variabl ...

  8. vue的v-model指令

    v-model指令用来绑定表单,数据传值. 如上,当在信息1输入框(表单)中输入值时,数据会对应变化:在信息2输入框中输入值时,数据并未变化. <div id="app"&g ...

  9. js重点--this关键字

    推荐博客:https://www.cnblogs.com/huaxili/p/5407559.html this是JavaScript的一个关键字,表示的不是对象本身,而是指被调用的上文. 主要用于以 ...

  10. Java基础--面向对象编程2(封装)

    1.封装的定义: 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.  为什么需要封装?封装的作用和含义? 首先思考一个问题:当我们要 ...