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

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. element table 二次封装 父子组件传值 组件通信

    新建一个组件(即子组件)table.vue 子组件编辑内容如下图所示 子组件通过props获取父组件传递过来的参数,如下图所示,type指明传递到子组件的数据类型,default指定默认值,一般不给 ...

  2. scp传输文件,自动填充密码

    一个偷懒的小shell, #!/usr/bin/expect #******************************************************************** ...

  3. Bugku-CTF之点击一百万次

    Day16 点击一百万次 http://123.206.87.240:9001/test/ hints:JavaScript  

  4. Learning-Python【0】:Windows环境下Python2和Python3的安装

    一.下载 可以在官网下载最新版本, 也可以在以下链接中找想安装的版本下载下来,这里以Python3.6和Python2.7为例 https://www.python.org/ftp/python/ 二 ...

  5. Linux 软连接 (ln命令)

    这是linux中一个非常重要命令.它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件. 当我们需要在不同的目录,用到相同的文件 ...

  6. CentOS7.4安装和配置zabbix4.0

    一.安装zabbix前,需要搭建好LAMP环境 二.下载zabbix 进入官网:https://www.zabbix.com/ 更多详细内容请参考官方说明文档,详细的安装要求不贴出来了. https: ...

  7. Windows Server 2008环境下Apache2.4+Tomcat8配置

    安装步骤 1. 安装配置JDK2. 安装配置Apache3. 安装配置Tomcat4. 启动服务并测试 一.Apache安装与配置 1.Apache解压在D盘根目录下建立一个文件夹Apache Gro ...

  8. 【Core Swagger】.NET Core中使用swagger

    一.入门 https://www.nuget.org/packages/Swashbuckle.AspNetCore.SwaggerGen/ 1.添加核心NUGET包 Swashbuckle.AspN ...

  9. [原][工具][windows10安装][0x800F081F]windows 10 如何离线安装.net framework3.5 || 安装出现错误代码0x800F081F时如何解决

    参考解决方案:https://zhidao.baidu.com/question/1896669183365806820.html?fr=iks&word=win10%B0%B2%D7%B0+ ...

  10. 解决无法连接mysql问题

    解决无法连接mysql问题 在my.ini文件下加入explicit_defaults_for_timestamp 清空data文件夹 Cmd初始化mysql   输入>Mysqld  --in ...