一:元组

    1)定义

    元组:有序,可以按索引取值,不可变,但是可以修改元组里面可变数据的数据内容。

    res = (1,2,3,4,3,2,1)

  2)内置方法和使用

    res.count(1)

    返回值:2

  

    可以count,说明可以存放多个同样的数据

    res.index(2,3,6)

    返回值:5

二:字典

  1)字典的定义:

    字典无序,可以按key取值,key可以为所有不可变类型的数据,values可以为所有类型数据。

    例:name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}

  2)字典的内置方法和使用

    1.取值

      常用取值为key,但是当key不存在于字典中时,会报错

      name.get(key)

      如果不存在于字典,则返回None,若存在,则返回value

    

    2.keys,values,items

      

name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}

print(name.keys(),type(name.keys()))
#返回值:dict_keys(['one', 'two', 'three', 'four']) <class 'dict_keys'> print(name,values(),type(name.values()))
#返回值:dict_values(['wusong', 'likui', 'ruanxiaoqi', 'songjiang']) <class 'dict_values'> print(name.items(),type(name.items()))
#返回值:dict_items([('one', 'wusong'), ('two', 'likui'), ('three', 'ruanxiaoqi'), ('four', 'songjiang')]) <class 'dict_items'> #三种方式的返回值都不是原生列表,无法直接按索引取值,但是可疑的通过for迭代取出,或者直接强制转换为list类型,再按照索引取出。

    3.增加包含的值

      ①update

      ②setdefault

name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}

name.update({"four":"sunerniang","five":"ruanxiaoer"})
print(name)
#返回值:{"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"sunerniang","five":"ruanxiaoer"}
#遵从:原来字典有相同key则覆盖,无则添加。 name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}
name.setdefault("five",None)
print(name)
#返回值:name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang","five":None}
#原先字典有的key则忽视更新,没有的key则按第二个参数为value创建 name.fromkeys(["six","seven"],None)
#不改变字典里面的值,若为空字典,则迭代取出key,value为None

    4.去值

name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}
pop_data=name.pop("two")
print(pop_data,name)
#返回值:likui {'one': 'wusong', 'three': 'ruanxiaoqi', 'four': 'songjiang'}
#pop按key弹出值,有返回值。
pop_data2=name.popitems()
print(pop_data2)
#返回值:('four', 'songjiang')
#popitems默认弹出最右的item,有返回值。

三:集合

  1)set集合的定义

    1.为单列数据集合(常见单列数据集合有:list,str,tuple,set,双列数据集合:dict)

    2.无序无key,无法取值

    3.可变数据,内部可以存放任意类型的多个数据,但是数据具有唯一性

  2)内置方法与使用

    1.交集,&,intersection

    2.并集,|,union

    3.差集,-,difference

    4.对称差集,^,symmetric_difference

a={1,2,3,4,5}
b={3,4,5,6,7} print(a.intersection(b))
print(a&b)
#返回值:{3, 4, 5} print(a.union(b))
print(a|b)
#返回值:{1, 2, 3, 4, 5, 6, 7} print(a.difference(b))
print(a-b)
#返回值:{1, 2} print(a.symmetric_difference(b))
print(a^b)
#返回值:{1, 2, 6, 7}

    在所有的运算后加_update就变为了替换原有数据,更新列表

   5.父子集合

a={1,2,3}
b={2,3,}
print(a>b)
print(a<b)
print(a==b) #返回值:True
False
False

python全栈开发_day6_元组,字典,集合的更多相关文章

  1. python全栈开发-Day5 元组、字典

    python全栈开发-Day5  元组.字典 一.前言 首先,不管学习什么数据类型,我们都带着以下几个问题展开学习: #1:基本使用 1 .用途 2 .定义方式 3.常用操作+内置的方法 #2:该类型 ...

  2. python全栈开发笔记---------数据类型---字典方法

    def clear(self) 清空字典里所有元素 # info = { # "k1":18, # "k2":True, # "k3":[ ...

  3. python 全栈开发,Day5(字典,增删改查,其他操作方法)

    一.字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.存储大量的数据,是关系型数据,查询数据快. 列表是从头遍历到尾字典使用二分查找 二分查找也称折半查找(Bi ...

  4. python全栈开发笔记---------数据类型-----字典dict

    字典 #dict #1.基本结构 info= { "k1" : "v1", #键值对 "k2" : "v2" } ### ...

  5. Python 全栈开发:dict(字典)常用方法操作、dict嵌套

    数据类型的划分:可变数据类型和不可变数据类型. 不可变数据类型(可哈希):元祖.bool.int.str 可变数据类型(不可哈希):list.dict,set(集合) dict(字典): dict(字 ...

  6. Python全栈开发 列表, 元组 数据类型知识运用及操作 range知识

    一.列表 1.什么是列表? 列表是一个可变类型,由  [ ] 表示,每一项元素用逗号隔开.列表能够装大量的数据,可以装对象的对象. 2.列表的索引和切片. 列表和字符串一样,也有索引和切片.只不过列表 ...

  7. python全栈开发学习_内容目录及链接

    python全栈开发学习_day1_计算机五大组成部分及操作系统 python全栈开发学习_day2_语言种类及变量 python全栈开发_day3_数据类型,输入输出及运算符 python全栈开发_ ...

  8. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  9. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

随机推荐

  1. 1.在VC编译器下面为什么每个头文件以及源文件都要包含“stdAfx.h”,那么stdAfx.h中到底存放了什么,用来做什么?

    我们知道在windows平台下面很多的文件后缀名中都含有Afx,其实Afx是微软公司的一个技术研发团队名称,vc下的“stdAfx.h”和“stdAfx.cpp”文件就是有他们所研发出来的,为什么要这 ...

  2. EZOJ #258

    传送门 分析 我们考虑一个点有多少中情况可以被删除 我们发现只有删除它自己和删祖先共$dep_i$中 所以每个点的答案就是$\frac{1}{dep_i}$ 代码 #include<iostre ...

  3. JavaWeb项目导入MyEclipse后变为JAVA项目项目【解决方法】

    问题描述:之前有个项目是Java web的项目,但是后来我导入到我电脑里的myEclipse里后就变成了Java项目.查找了资料解决了,网上大部分都是说在eclipse里解决这个问题,在myEclip ...

  4. error: failed to push some refs to 'https://git.oschina.net/bluede/TuShuGuanLi.g it'

    出现了这样的错,可以强制提交 git push -u origin master -f

  5. CoderForces 687C The Values You Can Make (01背包,DP)

    题意:给定 n 个硬币和一个值 k,问你在用一些硬币组成面值为 k的这些硬币还能组成多少种其他面值. 析:如果这样说,由这些硬币能组成多少种不同的面值,那么是不是就很熟悉了,这不就是01背包么,这个题 ...

  6. 马尔可夫决策过程MDP

    1. 马尔可夫模型的几类子模型 马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是马尔可夫性(无 ...

  7. How attach Java source(为eclipseIDE附加资源)

    In Eclipse, when you press Ctrl button and click on any  Class names, the IDE will take you to the s ...

  8. JAVA中简单的MD5加密类(MD5Utils)

    MD5加密分析:   JDK API:   获取对象的API:   加密的API:   package cn.utils; import java.security.MessageDigest; im ...

  9. 使用华邦的SPI FLASH作为EPCS时固化NIOS II软件报错及解决方案

    Altera器件有EPCS系列配置器件,其实,这些配置器件就是我们平时通用的SPIFlash,据AlteraFAE描述:“EPCS器件也是选用某家公司的SPIFlash,只是中间经过Altera公司的 ...

  10. [LeetCode 题解]: Anagrams

    Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be ...