元组:就是一个不可变的列表

1.用途,当我们需要记录多个值,并且没有更改的需求的时候,应该使用元组

2定义方式:使用,在 ( ) 中分隔开多个任意类型的值

注:t=("egg",),如当列表中只有一个值的时候,在末尾加上 , 逗号

t=tuple("hello")  # 元组和列表的类型的类型转换相同,可将任意可迭代类型转换成 元组类型

常用操作+内置方法

1.按照索引取值,因为元组是不可变类型,所以只能取值

.count()  统计某个元素出现的次数

.index()  计算出某个元素出现的位置的索引值

总结:元组是不可变类型

字典:记录多个不同属性的值

定义方式:在{} 内使用逗号分隔开多个元素,每个元素都是key:value的形式,其中value可以是任意类型,但是key只能是不可变类型

数据类型转换

l1=(["name","haha"],["age","18"],("gender","male"))

dic=dict(l1)    # 可以直接将l1 转换成一个字典

dic1=dict(x=1,y=2,z=3)  # 也可以直接将括号内的内容转换成字典

常用操作+方法

1按key取值:可存可取

dic={'name': '哈哈', 'age': 18, 'gender': 'male'}

dic["name"]            #取出元素对应的值,如果指定的key,在字典中不存在则报错

dic["name"]="xixi"   #如果key对应的值存在,则修改字典中的已存在键值对,如果不存在,则新增,新的键值对

2len

计算出字典中存在的键值对的数量

3in和not in 判断得是字典的key

4删除

del dic["name"]   #

t=dic.popitem()   #随机弹出一个键值对,返回值是一个键值对的元组

t=dic.pop("name")  # 通过给定的key,弹出一个元素,返回值是key对应的value

5键keys(), 值values(),键值对items()

dic.keys()     #取出字典的所有的key的值,在python2中直接返回一个列表,在python3 不是直接返回列表,可以通过for循环取出

dic.values()  #取出字典的所有的value值

dic.items()  #取出字典中所有的键值对,一个键值对保存在一个元组中

5. get取值

get() 取值,如果key在字典中,则返回key对应的value.如果key不存在,不会报错,返回一个None

需要掌握的操作

dic.formkey(iter,char)

通过第一个参数给定的可迭代对象,作为key,第二个参数作为默认值,快速的构造一个字典

方法需要通过使用字典调用{} 不会改变调用字典,返回一个构造完成的字典,所以调用字典的状态并不会影响调用方法的结果

dic.updata

使用updata()中给定的字典更新调用的字典,如果key已经存在则使用参数中的key对应的value值,更新源字典,如果key不存在,则添加

dic.setdefault(key,value)  # 执行完毕后的结果时保证字典中有 这个值存在

参数是key和value 如果调用字典中不存在key,则将参数中的key,value添加到字典中,返回值,是参数中的vlaue值

        如果调用字典中key,已经存在,则不做任何操作,直接将key对应的value返回

集合set

用途:

  做关系运算

  去重

定义方式:在{} 中使用,逗号分隔开多个值,多个元素必须满足以下要求

  每一个元素必须是不可变类型

  集合内的元素不能重复

  集合无序

注意: d={} 默认d是字典类型, d=set{}  则d是集合类型

常用操作+内置的方法

关系运算

pythons={'李铁蛋','张全蛋','王铜蛋','赵银蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王铜蛋'}

求即报名python课时又报名linux课程的学员:交集

python & linuxs  返回值是一个字典类型

pythons.intersection(linuxs)

求所有的学员姓名:并集

pythons | linuxs

python.union(linuxs)

求只报名python课程的学员:差集

pythons-linuxs

python.difference(linuxs)

求没有同时报名两门课程的学员:对称差集

python^linuxs

pythons.symmetric_differcnce(linuxs)

父集/子集 :包含和被包含的关系

只有一个集合中的元素包含另一个集合中的全部元素的时候,才会有子集和父集的概率

set1={1,2,3}

set2={1,2}

set1>=set2   # True

set1.issuperset(set2)  # True

掌握的操作

set1.update({2,3,4})    #使用参数中的集合更新源集合

set1.add(1)    #新增一个值

set1.pop() 随机弹出一个值

set1.remove(2)  弹出2这个值

set1.difference_update(set2) 将set1和set2做差集操作后的结果,给赋值给set1

set.discard()  # 如果给定的参数是集合中的一个成员则把他删除,如果不是则什么也不做,无返回值

在条件判断中所有的数据都会转换成布尔值

只需记住布尔值为假的数据类型即可,0,None,空

day 07 元组,字典和集合等数据类型介绍的更多相关文章

  1. 【python基础语法】元祖、字典、集合、数据类型的分类(第4天课堂笔记)

    """ 列表:可变数据类型,对列表内部的元素可以进行修改 元祖: tuple,不可变数据类型,是不可以进行增删查改 元祖的方法: count 查找元素的数量 index ...

  2. python基础之02列表/元组/字典/set集合

    python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...

  3. python基础知识3——基本的数据类型2——列表,元组,字典,集合

    磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 一.列表 1.列 ...

  4. python数据类型之元组、字典、集合

    python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...

  5. Python基本数据类型--列表、元组、字典、集合

    一.Python基本数据类型--列表(List) 1.定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. 2.列表的创建: # 方式一 list1 = ['name','ag ...

  6. Python黑帽编程2.3 字符串、列表、元组、字典和集合

    Python黑帽编程2.3  字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询 ...

  7. Python基础-列表_元组_字典_集合

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

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

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

  9. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

随机推荐

  1. latch release ......

    MainControl_cfg.c brings error:  not defined. /* e_TIMER_MCtrlLatchReleaseTime  */     TIMER_ID_MCtr ...

  2. Docker Kubernetes 容器更新与回滚

    Docker Kubernetes 容器更新与回滚 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...

  3. Python 新式类与经典类

    新式类,经典类 查询匹配 广度查询 横着对每个类进行查询 深度查询 无视平级类,直接寻找下级类 #python 3.0 #新式类 广度查询 #经典类 广度查询 #python 2.0 #新式类 广度查 ...

  4. Servlet运行原理以及生命周期

    一.Servlet生命周期: Servlet加载.实例化.初始化.服务.销毁. 1.初始化init(): 当服务启动时,Servlet被装入tomcat或者其他服务器容器时执行(服务器容器从启动到停止 ...

  5. 剑指offer(42)和为S的字符串

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 题目 ...

  6. kettle 连接 SQL Server 异常

    场景重现 新安装的 kettle(pdi-ce-7.0.0.0-25) 连接 SQL Server 2012 时报错如下: 解决办法 到 https://sourceforge.net/project ...

  7. tcp协议以及socket介绍

    壹:tcp协议:可靠传输 一: 3次握手,建立链接:4次挥手,断开链接 3次握手,建立链接:图解 ,这样双向通路就建立完成了. 在建立链接时,并没有数据传输,所以中间两部可以合在一起,也就是3次握手, ...

  8. English trip EM2-LP-5A Food Teacher:Lamb

    课上内容(Lesson) 1. Do you know any of these foods? Yes I do. There are  hot pepper(小辣椒), a clove of gar ...

  9. javascript的this关键字

    this永远指向函数运行时所在的对象!而不是函数被创建时所在的对象.也即:谁调用,指向谁.切记… 1.普通函数中的this 无论this身处何处,第一要务就是要找到函数运行时的位置. var name ...

  10. rsync详细配置

    1 说在前面的话 rsync官方网站: https://www.samba.org/ftp/rsync/rsync.html rsync是可以实现增量备份的工具.配合任务计划,rsync能实现定时或间 ...