一:集合相关操作与相关函数

1.集合相关操作(交叉并补)

(1)intersection() 交集

set1 = {"one","two","three"}

set2 = {"four","five","one"}

res = set1.intersection(set2)

print(res)

res = set1 & set2

print(res)

(2)difference() 差集

set1= {"one","two","three","four","five"}

set2 = {"six","seven","eigth","four"}

res = set1.difference(set2)

print(res)

res = set1 - set2   #s1 - s2 中有的元素,剩下的元素为结果

print(res)

(3)unoion() 并集

set1= {"one","two","three","four","five"}

set2 = {"six","seven","eigth","four"}

res = set1.union(set2)

print(res)

res = set1 | set2

print(res)

(4)symmrtric_difference() 对此差集(补集情况涵盖在其中)

set1= {"one","two","three","four","five"}

set2 = {"six","seven","eigth","four"}

res = set1.symmetric_difference(set2)

print(res)

res = set1 ^ set2

print(res)

(5)issubset()判断是否子集

set1 = {"one","two","three"}

set2 = {"one"}

res = set2.issubset(set1)  #可以完全一样

print(res)

#真子集: 2个集合不是完全一样的

res = set2 <= set1

print(res)

# res = set1.issuperset(set2)

# #也就是issubset()和issuperset()在两个集合元素相同的情况下都是Ture# print(res)

(6)issuperset() 判断是否是父集

set1 = {"one","two","three"}

set2 = {"one"}

res = set1.issuperset(set2)

print(res)

res = set1 >= set2 #>= 是要用等于的

print(res)

(7)isdisjoint()

检测两集合是否相交 不相交Ture相交False

set1 = {"one","two","three"}

set2 = {"one"}

res = set1.isdisjoint(set2)

print(res)

2.集合相关函数

(1)增 add() update()

#add()相集合中添加数据

print("==========增============")

setvar = {"one","two","three"}

setvar.add("four")

print(setvar)

print("==========update============")

#update()迭代着增加update (可迭代性数据)

setvar.update(["one","two"])

print(setvar)

print("==========删============")

(2)删除 clear() pop() discard()

#clear()清空集合

setvar = {"one","two","three"}

setvar.pop()

print(setvar)

#pop()随机删除集合的一个数据

setvar = {"one","two","three"}

setvar.remove("three")

#setvar.remove("three123") #error,删除原来没有的元素会出错

print(setvar)

#discard()删除集合中指定的值(不存在的不删除 推荐使用)

setvar = {"one","two","three"}

res = setvar.discard("three123")

print(setvar)

3.冰冻集合(只能做交差并补)

#frozenset可墙砖容器类型数据变为冰冻集合#冰冻集合一旦创建,不能再进行任何修改,只能做交差并补

#(1) 声明空的冰冻集合

fz = frozenset()

print(fz,type(fz))

fz = frozenset([1,2,3,4])

print(fz,type(fz))

#fz2 =frozenset("2345")  #注意字符串类型

fz2 = frozenset((2,3,4,5))

print(fz2,type(fz2))

fz2 = fz | fz2  #并集

print(fz2,type(fz2))

#fz1.add("456") #error 不允许添加或者删除操作

二.字典相关的函数

1.字典的相关函数(增删改查)

# (1)增

dictvar = {}

dictvar['top'] ="剑圣"

dictvar['moddle'] = "妲己"

dictvar['bottom'] = "鲁班七号"

dictvar['jungle'] = "刘备"

dictvar['support'] = "刘邦"

dictvar['top'] ="凯"

#如果键和前面的元素相同的情况下,将相同键的对应的值进行更新

print(dictvar)

#fromkeys()使用一组键和默认值创建字典

listvar = ["a","b"]

dict = {}.fromkeys(listvar,None)

print(dict)

#不推荐使用fromkeys

'''

dict = {}.fromkeys(listvar,[])

dic['a'].append(55)

print(dict('b'))

'''

#(2)删除

#pop()通过键去删除键值对(若没有该键可设置默认值,预防报错)

dictvar = {'top': '凯', 'middle': '妲己', 'bottom': '鲁班七号', 'jungle': '刘备', 'support': '刘邦'}

dictvar.pop('middle')

print(dictvar)

#dictvar.pop("modegdiqg")

dictvar.pop("dgqidq","该键不存在")

print(dictvar)

#popitem()删除最后一个键值对3.6版本

dictvar = {'top': '凯', 'middle': '妲己', 'bottom': '鲁班七号', 'jungle': '刘备', 'support': '刘邦'}

dictvar.popitem()

print(dictvar)

#clear()清空字典

dictvar.clear()

print(dictvar)

#(3)改

#update()批量更新(有该键就更新,没有该键就添加)

dict = { 'jungle': '刘备', 'support': '刘邦'}

#dict.update{{'top':"关羽",'middle':"武则天"}}

#写法一(推荐)

dict.update({'top':"花木兰",'middle':"武则天","support":"蔡文姬"})

print(dict)

#写法二:

dict.update(abc="23",bbb="3ew",ccc="4567")

print(dict)

#(4)查

#get()通过键获取值(若没有该键可设置默认值,预防报错)

dictvar = {'top': '凯', 'middle': '妲己', 'bottom': '鲁班七号', 'jungle': '刘备', 'support': '刘邦'}

#dictvar['top123'] error

res = dictvar.get("top123")

#如果没有该键,默认返回None,如果指定默认值,则返回默认值

res = dictvar.get("top123","对不起,没有该键")

print(res)

2.字典的方法 keys() values() items()

#keys()将字典的键组成新的迭代对象

dictvar = {'top': '凯', 'middle': '妲己', 'bottom': '鲁班七号', 'jungle': '刘备', 'support': '刘邦'}

for i in dictvar:

print(i)

#能够遍历就证明具有可迭代性

res = dictvar.keys()

print(res)

for i in res:

print(i)

#values()将字典中的值组成新的可迭代对象

res = dictvar.values()

print(res)

for i in res:

print(i)

#items()将字典的键值对凑成一个个元组,组成新的可迭代对象

res = dictvar.items()

print(res)

for i in res:

print(i)

for a,b in res:

print(a,b)

python函数控制词典_Python 基础之集合相关操作与函数和字典相关函数相关推荐

  1. python实战经典例子_Python基础之列表常见操作经典实例详解

    本文实例讲述了Python基础之列表常见操作.分享给大家供大家参考,具体如下: Python中的列表操作 列表是Python中使用最频繁的数据类型[可以说没有之一] 一组有序项目的集合 可变的数据类型 ...

  2. python和控制流程_Python基础之:Python中的流程控制

    简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样的地方. while语句 python中的while语句和其他语言没有什么不一样,我使用wh ...

  3. python流程控制框架_Python基础(相关历史、交互、简单流程控制)

    开始学习Python啦,希望能坚持下来,在博客园里记录一下学习过程,感谢博客园提供平台! Python发展史 1989年圣诞节,Guido开始写Python语言的编译器,Python这个名字源于Gui ...

  4. python空行拼接字符串_python基础---文本和字符串操作

    一.文本操作 打开读取文本 (查) lock_file = open('username_lock.txt', 'r+') #r+ 读写 lock_list =lock_file.readlines( ...

  5. python数据库环境详解_python中MySQL数据库相关操作

    一 安装基本环境 1 简介 MySQL 基于TCP 协议之上的开发,但是网络连接后,传输的数据必须遵循MySQL的协议,封装好MySQL协议的包,就是驱动程序 MySQL 的驱动 MySQLDB 最有 ...

  6. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC (8.4) - 集合相关操作

    1.概述 在Cypher查询语言中,集合的使用非常普遍.集合的元素可以是简单类型的值.节点.关系.路径,甚至混合类型.下面的例子是产生集合的一些常用方法: // 返回一个包含从1到10 的整数集合 R ...

  7. Python之集合相关操作

    集合相关操作 set1 = {"易烊千玺","蔡徐坤","成毅","王一博","王文"} set2 ...

  8. python文件操作解码_python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...

  9. python中非可选参数_python基础教程函数参数

    python里有很多的内置函数给我们的工作带来了很多发便利,在我们实现某些功能或者优化代码的时候,可以自己定义一个函数,同时我们在定义一个类的时候也会用到函数的一些知识去构造一个方法,这里就涉及到一些 ...

最新文章

  1. 神经风格迁移模型综述
  2. Idea 2018.2.5创建springboot项目依赖包没有的错误
  3. laravel nosql
  4. Proteus仿真STM32F103R6微控制器的GPIO(按键控制LED开关)
  5. 数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图
  6. 最全三大框架整合(使用映射)——DeptServiceImpl.java
  7. 前端学习(2846):css浮动和定位布局
  8. 【转】1.2异步编程:使用线程池管理线程
  9. IT从业者几大职位薪酬对比
  10. 【汇编优化】之内联汇编
  11. c++常引用做参数可以有默认参数吗_最新Pandas.read_excel()全参数详解(案例实操,如何利用python导入excel)...
  12. java中随机数彩票练习_跪求下面的题目答案
  13. Mac安装Octave
  14. 基础回顾:测井曲线划分油、气、水层
  15. 三农数据(1996-2020)八:农林牧渔业总产值、增加值构成及增加值率、中间消耗
  16. 如何在MATLAB画一个首尾相连的数据矩阵图形
  17. 关于大学生是否沉迷游戏的报告
  18. 奥古斯丁:我是一去不回的风
  19. GIS空间分析之公路选线
  20. 背包问题C++(三种类型初涉)

热门文章

  1. C语言课后习题(27)
  2. PAT乙级(1014 福尔摩斯的约会)
  3. mysql between 等于_MySQL中BETWEEN子句的用法详解
  4. 跨考计算机报班,考研跨考的经验总结与分享
  5. 怎么看b树是几阶_数据库原理基础:设计B树与B+树的目的以及二者的优劣
  6. 24日直播预告丨你们的“落落大神”来分享数据模型重构案例啦!
  7. Oracle BCT(Block Change Tracking)与增量备份
  8. 【限时早鸟票】数据技术十年相伴,DTC盛会北京重燃
  9. 一次执行truncate触发ORA-02266解决过程
  10. 极速体验:Oracle 18c 下载和Scalable Sequence新特性