一、元组

1、定义:参数为for可以循环的对象

t1 = (1, 2)
     t2 = tuple((1, 2))
     t3 = (1, )        #定义一个只有一个值的元组

2、常用操作:

2.1、索引

元组是有序存储,所以可以以索引取值

t(1,2,3,4,5)

print(t[1])

print(t[-2])

2.2、长度(item元素个数)

print(len(t))

2.3、切片

t=(1,2,3,2,3,2)

nt = t[:-1:]

print(nt)       #(1,2,3,2,3)

3、元组的内置方法:

print(t.count(2))    #统计2的个数,该数据集合可以存放相同数据

t=(1,2,3,2,3,2)

print(t.index(2,2,3))   #报错,顾头不顾尾,所以找不到2

元组小结:有序存储 ,可存放多个数据 , 不可变(内部可以包含可变对象,可变对象可以改变)

它可以将不允许操作的列表可以转化为元组,将允许操作的元组转化为列表

二、字典

1、定义:在大括号内用逗号分隔开,以一个key对应一个value存储

dic={'a':10,'b':20}

2、常用操作:

2.1、增加:key不存在

dic['name'] = 'Mac'

2.1、该:key存在

dic['name'] = 'Big Mac'   #将原先的Mac改为Big Mac

2.2、查value:

print(dic['name'])     #查找'name'对应的value值

2.3、删除:

del dic['name']

3、内置方法:

3.1、   get取值(重点)*****

例:dic = {'a':10,'b':20}

print(dic['c'])    #KeyError 即c不存在dic中就会报错

res = dic.get('c')    #拥有默认值None,可以避免错误,返回None

res = dic.get('d',key不存在)   #返回key不存在

3.2、增加:添加的参数字典,与dic可以重复,如果重复就是更新,如果不重复则新增

print(dic.update({'a':100,'c':300}))     #{'a':100,'b':20,'c':300},即a的值更新了,新加了c

3.3、删除:

res = dic.pop('c')      #根据key删除指定对象,并返回删除对象的value

print(red)      #300

3.4、复制:(浅拷贝、深拷贝)

d1 = {'list':[1,2]}

d2 = d1.copy()         #d1,d2的地址不一样,但是内部成员的地址不变,即只做第一层copy(浅copy)

d1['list'].append('abc')

print(d2)        # {'list':[1,2,'abc']}

3.5、随机删除:

print(dic.popitem())        #随机删除字典里的一个值,返回的是被删除的(key:value)

3.6、定义空字典:第一个参数key可以是list,tuple,str,第二个参数是统一的默认value

d1 = {}.fromkeys(['a','b','c'],'')

print(d1)     #{'a':'','b':'','c':''}

3.7、setdefault的用法

d.setdefault('teas',[])    #在d中,如果有teas这个key,setdefault相当于什么都没做

#如果没有,就将第二个参数(默认值)传给teas存放到d中

字典小结:字典中的key可以为所有不可变类型:int float tuple str bool None,但是一般采用字符串

value可以是任意类型(注:key具有唯一性,即重复会覆盖旧值,而value可以重复)

三、集合

1、定义:s = set()

2、常用操作与内置方法

2.1、交集&

p_set = {'a','b','c','egon'}

l_set = {'x','y','z','egon'}

res = p_set & l_set

或 res = p_set.intersection(l_set)

print(res)                   #{'egon'}

2.2、并集|

res = p_set | l_set

或res = p_set.union(l_set)

print(res)               #{'x','y','z','a',b','c','egon'}

2.3、差集

res = p_set - l_set

print(res)    #{'a','b','c'}

或res = p_set.difference(l_set)

print(l_set - p_set)   #{'x','y','z'}

2.4、对称差集^

res = p_set ^ l_set

或res = p_set.symmetric_difference(l_set)

print(res)      #{'a','x','b','c','y','z'}

2.5、增加

s = set()

s.add('abc')

s.add('xyz')

print(s)         #{'abc','xyz'}

2.6、删除

res = s.pop ()

print(res)       #随机删除一个元素

if 'xyz' in s:

s.remove('xyz')    #有就删除,没有就报错

3、了解

1、父子set

set1 = {1,2,3,4,5,6}

set2 = {1,2,3}

set3 = {7,8,9}

print(set1 > set2)     #True

print(set2 == set3)    #False

2、两个set是否没有交集

res = set3.isdisjoint(set2)

print(res)                  #没有交集,True

res = set2.isdisjoint(set1)

print(res)                  #有交集,False

集合小结:集合是无序存储,没有key,没有index,无法取值;

可变数据类型,内部可以存放任意类型数据,但数据具有唯一性

DAY06、元组、字典、集合的更多相关文章

  1. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  2. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  3. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  4. 元组/字典/集合内置方法+简单哈希表(day07整理)

    目录 二十三.元组内置方法 二十四.字典数据类型 二十五 集合内置方法 二十五.数据类型总结 二十六.深浅拷贝 补充:散列表(哈希表) 二十三.元组内置方法 什么是元组:只可取,不可更改的列表 作用: ...

  5. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  6. day_6深浅拷贝,元组字典集合类型定义和各种操作方法

    首先我们来讲一下深浅拷贝 1:值拷贝,假设一个列表等于L1 再定义一个L2=L1  这样就是值拷贝 L2只是存的L1存列表的地址,所以当L1发生改变,L2也随之改变 2:浅拷贝,L2=L1.copy( ...

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

    列表格式:name = []name = [name1, name2, name3, name4, name5] #针对列表的操作 name.index("name1")#查询指定 ...

  8. Python数据类型-布尔/数字/字符串/列表/元组/字典/集合

    代码 bol = True # 布尔 num = 100000000; # 数字 str = "fangbei"; # 字符串 str_cn = u"你好,方倍" ...

  9. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  10. python 列表 元组 字典 集合

    列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...

随机推荐

  1. 磁盘性能评价指标—IOPS和吞吐量

    转:http://blog.csdn.net/hanchengxi/article/details/19089589 一.磁盘 I/O 的概念 I/O 的概念,从字义来理解就是输入输出.操作系统从上层 ...

  2. 【转】iOS-浅谈revoke证书对App的影响

    参考资料:证书-来自苹果官方的介绍 revoke证书对生产.测试环境的影响(1)revoke生产环境证书是不会影响已上架的app. (2)revoke开发环境证书,则安装过该证书的app的用户将无法打 ...

  3. 【转】如何使用分区助手完美迁移系统到SSD固态硬盘?

    自从SSD固态硬盘出世以来,一直都被持续关注着,SSD的性能优势让无数用户起了将操作系统迁移到SSD的心思,直接后果就是让无数机械硬盘为止黯然退场,很多软件都可以做到系统迁移,然而,被完美迁移的系统却 ...

  4. 003_webpack 配合babel 将es6转成es5

    今天接触了webpack,第一次使用webpack进行转码,竟然稀里糊涂就成功了,哈哈. 下面附上流程 创建个文件夹,初始化一下,首先全局安装webpack npm install webpack - ...

  5. Redis入门篇(安装与启动)

    一.Redis介绍 Redis是NoSql的一种,在弄清楚Redis是个什么玩意之前,先了解下NoSql是什么.1.什么是NoSql NoSql,全名:Not Only Sql,是一种非关系型数据库, ...

  6. C# Oracle 时间字符串转时间类型

    C# 字符串转时间类型 yyyy-MM-dd HH:mm:ss  yyyy-MM-dd hh:mm:ss d 月中的某一天.一位数的日期没有前导零. dd 月中的某一天.一位数的日期有一个前导零. d ...

  7. 深入浅出Tomcat/2 - Tomcat启动和停止

    Tomcat启动和停止 很明显,我们启动或停止Tomcat,一般调用的是bin下的startup.sh或shutdown.sh(以Linux为例,以下涉及到平台,若无特殊说明,一般都指Linux).我 ...

  8. 【Python入门只需20分钟】从安装到数据抓取、存储原来这么简单

    基于大众对Python的大肆吹捧和赞赏,作为一名Java从业人员,我本着批判与好奇的心态买了本python方面的书<毫无障碍学Python>.仅仅看了书前面一小部分的我......决定做一 ...

  9. xadmin集成DjangoUeditor

    1.安装 安装DjangoUeditor 1)去GitHub上面下载djangoueditor源码包(https://github.com/twz915/DjangoUeditor3)   然后进入源 ...

  10. Django 中间件版登录验证

    中间件版的登录验证需要依靠session,所以数据库中要有django_session表. urls.py # urls.py from django.conf.urls import url fro ...