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

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. 根据MAC地址获取网络地址及ZDP_NwkAddrReq函数的用法

    1..对于设备需要获取本设备的网络地址和MAC地址: NLME_GetShortAddr()——返回本设备的16位网络地址 NLME_GetExtAddr()——  返回本设备的64位扩展地址 2.使 ...

  2. Beaglebone板子修改usb连接时的默认IP192.168.0.2

    首先除了有个USB线外,你还需要一个USB转串口的线(目的是防止修改错误,无法使用原来的usb的IP地址登陆,心大的可以跳过这步直接进入重点),串口线连接方法如下图: ​ 将USB以及串口和PC机相连 ...

  3. codeforces #305 C Mike and Foam

    首先我们注意到ai<=50w 因为2*3*5*7*11*13*17=510510 所以其最多含有6个质因子 我们将每个数的贡献分离, 添加就等于加上了跟这个数相关的互素对 删除就等于减去了跟这个 ...

  4. Mysql 数据类型、约束类型

    mysql数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型.   数值类型 MySQL支持所有标准 ...

  5. 03:CDN原理

    1.1 CDN简介 1.CDN作用(缓存静态资源) 1. CDN的全称Content Delivery Network,(缩写:CDN)即内容分发网络. 2. CDN解决由于网络带宽小.用户访问量大. ...

  6. 剑指offer(39)平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 题目分析 第一种方法: 正常思路,应该会获得节点的左子树和右子树的高度,然后比较高度差是否小于1. 可是这样有一个问题,就是节点重复遍历了,影 ...

  7. CEF 设置Cookie

    参考文档:http://magpcss.org/ceforum/apidocs3/projects/(default)/CefCookieManager.html 转载:https://www.cnb ...

  8. Server.Transfer VS Response.Redirect – Simplified

    https://www.codeproject.com/Articles/775221/Server-Transfer-VS-Response-Redirect-Simplified Introduc ...

  9. C# 线程 正确使用Thread.Join()停止方式

    /// <summary>        /// 停下线程        /// </summary>        private void MyStopTask()     ...

  10. 详解java中的byte类型

    Java也提供了一个byte数据类型,并且是基本类型.java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte.下面这篇文章主要给大家介绍了关于j ...