python全栈开发_day6_元组,字典,集合
一:元组
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_元组,字典,集合的更多相关文章
- python全栈开发-Day5 元组、字典
python全栈开发-Day5 元组.字典 一.前言 首先,不管学习什么数据类型,我们都带着以下几个问题展开学习: #1:基本使用 1 .用途 2 .定义方式 3.常用操作+内置的方法 #2:该类型 ...
- python全栈开发笔记---------数据类型---字典方法
def clear(self) 清空字典里所有元素 # info = { # "k1":18, # "k2":True, # "k3":[ ...
- python 全栈开发,Day5(字典,增删改查,其他操作方法)
一.字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.存储大量的数据,是关系型数据,查询数据快. 列表是从头遍历到尾字典使用二分查找 二分查找也称折半查找(Bi ...
- python全栈开发笔记---------数据类型-----字典dict
字典 #dict #1.基本结构 info= { "k1" : "v1", #键值对 "k2" : "v2" } ### ...
- Python 全栈开发:dict(字典)常用方法操作、dict嵌套
数据类型的划分:可变数据类型和不可变数据类型. 不可变数据类型(可哈希):元祖.bool.int.str 可变数据类型(不可哈希):list.dict,set(集合) dict(字典): dict(字 ...
- Python全栈开发 列表, 元组 数据类型知识运用及操作 range知识
一.列表 1.什么是列表? 列表是一个可变类型,由 [ ] 表示,每一项元素用逗号隔开.列表能够装大量的数据,可以装对象的对象. 2.列表的索引和切片. 列表和字符串一样,也有索引和切片.只不过列表 ...
- python全栈开发学习_内容目录及链接
python全栈开发学习_day1_计算机五大组成部分及操作系统 python全栈开发学习_day2_语言种类及变量 python全栈开发_day3_数据类型,输入输出及运算符 python全栈开发_ ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
随机推荐
- 1.在VC编译器下面为什么每个头文件以及源文件都要包含“stdAfx.h”,那么stdAfx.h中到底存放了什么,用来做什么?
我们知道在windows平台下面很多的文件后缀名中都含有Afx,其实Afx是微软公司的一个技术研发团队名称,vc下的“stdAfx.h”和“stdAfx.cpp”文件就是有他们所研发出来的,为什么要这 ...
- EZOJ #258
传送门 分析 我们考虑一个点有多少中情况可以被删除 我们发现只有删除它自己和删祖先共$dep_i$中 所以每个点的答案就是$\frac{1}{dep_i}$ 代码 #include<iostre ...
- JavaWeb项目导入MyEclipse后变为JAVA项目项目【解决方法】
问题描述:之前有个项目是Java web的项目,但是后来我导入到我电脑里的myEclipse里后就变成了Java项目.查找了资料解决了,网上大部分都是说在eclipse里解决这个问题,在myEclip ...
- error: failed to push some refs to 'https://git.oschina.net/bluede/TuShuGuanLi.g it'
出现了这样的错,可以强制提交 git push -u origin master -f
- CoderForces 687C The Values You Can Make (01背包,DP)
题意:给定 n 个硬币和一个值 k,问你在用一些硬币组成面值为 k的这些硬币还能组成多少种其他面值. 析:如果这样说,由这些硬币能组成多少种不同的面值,那么是不是就很熟悉了,这不就是01背包么,这个题 ...
- 马尔可夫决策过程MDP
1. 马尔可夫模型的几类子模型 马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是马尔可夫性(无 ...
- 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 ...
- JAVA中简单的MD5加密类(MD5Utils)
MD5加密分析: JDK API: 获取对象的API: 加密的API: package cn.utils; import java.security.MessageDigest; im ...
- 使用华邦的SPI FLASH作为EPCS时固化NIOS II软件报错及解决方案
Altera器件有EPCS系列配置器件,其实,这些配置器件就是我们平时通用的SPIFlash,据AlteraFAE描述:“EPCS器件也是选用某家公司的SPIFlash,只是中间经过Altera公司的 ...
- [LeetCode 题解]: Anagrams
Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be ...