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

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. 1.1:Get Started with Unity Shaders

    文章著作权归作者所有.转载请联系作者,并在文中注明出处,给出原文链接. 本系列原更新于作者的github博客,这里给出链接. 第1章开始正式进入Unity Shader的学习. 什么是Shader 本 ...

  2. Html 符号

    Html  符号 往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字. 下面就是以字母或数字表示的特殊符号大全.   常用 < < 小于号或显 ...

  3. Tomcat基本

    Tomcat web 应用服务器基础 jdk+tomcat安装 1.运行Tomcat为什么要装jdk? http://blog.sina.com.cn/s/blog_753bc97d0102w5rd. ...

  4. ERROR 1666 (HY000): Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.

    centos7.5 binlog恢复数据失败 问题: mysql> \. /tmp/inc.sql ERROR 1050 (42S01): Table 'new_1' already exist ...

  5. 学习requests_html

    一.获取页面上的所有链接. from requests_html import HTMLSession session=HTMLSession() r=session.get('https://new ...

  6. Pandas 基础(10) - 用 Pivot table 做格式转换

    Pivot allows you to transform or reshape data.Pivot 可以帮助我们改变数据的格式, 下面两个例子可以作为参考: 下面来看下具体实现, 首先引入一个 c ...

  7. 【读书笔记】Cronjob原理及源码分析

    原文链接:https://mp.weixin.qq.com/s?__biz=MzI0NjI4MDg5MQ==&mid=2715291842&idx=1&sn=e605f9b40 ...

  8. RabbitMQ(3) Spring boot集成RabbitMQ

    springboot集成RabbitMQ非常简单,如果只是简单的使用配置非常少,springboot提供了spring-boot-starter-amqp项目对消息各种支持. 资源代码:练习用的代码. ...

  9. POJ-3233 Matrix Power Series 矩阵A^1+A^2+A^3...求和转化

    S(k)=A^1+A^2...+A^k. 保利求解就超时了,我们考虑一下当k为偶数的情况,A^1+A^2+A^3+A^4...+A^k,取其中前一半A^1+A^2...A^k/2,后一半提取公共矩阵A ...

  10. Flask之勾子,错误捕获以及模板语法

    请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图 ...