PYTHON-基本数据类型-元祖类型,字典类型,集合类型
内容:
1. 元组
2. 字典
3. 集合
=========================== 元祖类型
什么是元组: 元组就是一个不可变的列表
======================================基本使用======================================
1、用途: 用于存放多个值,当存放的多个值只有读的需求没有改的需求时用元组最合适 2、定义方式:在()内用逗号分隔开多个任意类型的值
t=(1,3.1,'aaa',(1,2,3),['a','b']) # t=tuple(...) 3、常用操作+内置的方法
优先掌握的操作:
1、按索引取值(正向取+反向取):只能取,不能改
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in
5、循环 ======================================该类型总结====================================
存多个值 有序 不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash) 掌握的方法
index 查找,找不到会报错 (x.index('a'))
count计数 (x.count(''a)) -----------------------------------
字典类型
======================================基本使用======================================
1、用途: 用来存方多个(不同种类的)值 2、定义方式: 在{}内用逗号分隔开多个key:value的元素,其中value可以是任意数据类型,而key的功能通常是用来
描述value的,所以key通常是字符串类型,但其实key必须是不可变的类型(int\float\str\tuple) 3、常用操作+内置的方法
优先掌握的操作:
1、按key存取值:可存可取
2、长度len
3、成员运算in和not in
4、删除#pop 有返回值,popitem随机删除 (x.popitem())
5、键keys(),值values(),键值对items()
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))
6、循环 ======================================该类型总结====================================
存多个值
无序
可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash 需要掌握的操作
get方法 (x.get('a'))
update方法,新增和覆盖 (x.update({})) fromkeys:需求是快速新造出一个字典,value的初始值全都为None,而key是来自于一个列表
keys=['name','age','sex']
d={}.fromkeys(keys,None)
print(d) setdefault 新key会新增,老key返回原值(x.setdefault('a',1)) ---------------------------------------
集合类型 1. 什么是集合
在{}内用逗号分隔开多个值,集合的特点:
1. 每个值必须是不可变类型
2. 集合无序
3. 集合内元素不能重复
2. 为何要用集合
1. 用于做关系运算
2. 去重
3. 如何用集合 一,集合的第一大用途: 关系运算
pythons={'egon练习','张铁蛋','李铜蛋','赵银弹','王金蛋','艾里克斯'}
linuxs={'欧德博爱','李铜蛋','艾里克斯','lsb','ysb','wsb'} 1 求同时报名两门课程的学生姓名:交集 &
print(pythons & linuxs) 2 求报名老男孩学校课程的所有学生姓名:并集 |
print(pythons | linuxs) 3 求只报名python课程的学生姓名: 差集 -
print(pythons - linuxs) #求只报名pythons课程的学生姓名 4 求没有同时报名两门课程的学生姓名: 对称差集 ^
print((pythons - linuxs) | (linuxs - pythons))
print(pythons ^ linuxs) 5 父子集:指的是一种包含与被包含的关系
情况一:
s1={1,2,3}
s2={1,2}
print(s1 > s2) #>号代表s1是包含s2的,称之为s1为s2的父集
情况二:
s1={1,2,3}
s2={1,2,3}
print(s1 == s2) #s1如果等于s2,也可以称为s1是s2的父集合
综上:
s1 >= s2 就可以称为s1是s2的父集 二,集合的第二大用途:去重
集合去重的局限性:
1. 会打乱原值的顺序
2. 只能针对不可变的值去重 stus=['egon练习','lxx','lxx','alex','alex','yxx']
new_l=list(set(stus))
print(new_l) old_l=[1,[1,2],[1,2]]
print(set(old_l)) 集合里面不能放字典/列表
l=[
{'name':'egon练习','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon练习','age':20,'sex':'female'},
{'name':'egon练习','age':18,'sex':'male'},
{'name':'egon练习','age':18,'sex':'male'},
]
new_l=[]
for dic in l:
if dic not in new_l:
new_l.append(dic)
print(new_l) 需要掌握的操作:
update 更新 (x.update(1))
add 添加 (x.add({1})) pop 随机删除 (x.pop) remove 删除选定的值,如值不存在,会报错 (x.remove)
discard 删除选定的元素,如值不存在,不会报错 (x.discard) isdisjoint 判断,两个set没有关联则为True (x.isdisjoint(y)) ======================================该类型总结====================================
存多个值
无序
set可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash
PYTHON-基本数据类型-元祖类型,字典类型,集合类型的更多相关文章
- Python——列表、元祖、字典、集合的基本操作
列表 1. 列表——增 (1)append li = ['xcsd', 'cdc', [1, 5, 2], 'eht', '辛辰'] li.append('nihao') print(li) #['x ...
- py基础2--列表,元祖,字典,集合,文件
本节内容 列表.元祖操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 三元运算&生成式&成员运算&解压法&队列堆栈&数据类型转换 1. 列表操作 ...
- 【python基础语法】元祖、字典、集合、数据类型的分类(第4天课堂笔记)
""" 列表:可变数据类型,对列表内部的元素可以进行修改 元祖: tuple,不可变数据类型,是不可以进行增删查改 元祖的方法: count 查找元素的数量 index ...
- python基础知识之列表、元祖、字典、集合、字符串。
1.可变类型之列表 列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除等 names='zhangyang guyun xiangpeng xuliangwei' nam ...
- 干货!Python中字符串、列表、元祖、字典,集合之间的转换
一.字符串的转化 1.字符串转换成列表 字符串转换成list 的时候,str可以作为迭代对象,直接放入:也可以使用split对字符串进行切割.然后返回list s = '1a1b1c' print(l ...
- python列表、元祖、字典
python列表 ['a','1','vs2'] 里面的值可以改 python元祖 ('a','1','css','sdf12') 里面的值不能改 python字典 {'s ...
- Python——列表、元祖、字典 操作方法
一.编码方式占位 1.ASCII码:字母.数字.特殊字符,1个字节占8位 2.Unicode:字母 2字节占16位 / 中文 4字节 占32位 3.UTF8:字母 1字节占8位 / 欧洲 2字节占 ...
- python基础--列表、元祖、字典、集合
列表(List) 1.列表特点 列表是可变的!! list 是一种有序的序列,可以添加.删除其中的元素,并且可以通过下标(索引)访问 数据 2.简单的常用操作 A.通过下表访问元素 print(lis ...
- 老齐python-基础4(元祖、字典、集合)
1.元祖 元祖的特性结合了字符串和列表 元祖是用圆括号括起来的,其中的元素之间用逗号(英文半角)隔开.元祖中的元素是任意类型的python对象(包括以后自定义的对象) 元祖中的元素不可更改,所以修改列 ...
- python之字符串 元祖 列表 字典
一 字符串操作 语法:' ' 类型:str #首字母大写其余全部小写 test1 = 'yanShichenG' v = test1.capitalize() #全部小写(可以处理特殊字符) v1 = ...
随机推荐
- 解决TypeError: __init__() missing 1 required positional argument: 'on_delete'
试用Djiango的时候发现执行mange.py makemigrations 和 migrate是会报错,少位置参数on_delete,查了一下是因为指定外键的方式不对,改一下就OK了. 代码如下: ...
- module模块和包(十七)
在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办法,把这些定义存放在文 ...
- 工具函数判断data为整型字符串
/** * 如果data是整型字符串,则转为整型,否则原样返回 * @param {*} data 整型字符串 */ export const stringToInt = (data) => { ...
- c# Bitmap byte[] Stream 文件相互转换
//byte[] 转图片 publicstatic Bitmap BytesToBitmap(byte[] Bytes) { MemoryStream stream = null; try { str ...
- 在子类中调用父类的方法super
1.没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类 Country=" ...
- AIC和BIC
一.模型选择之AIC和BIC 人们提出许多信息准则,通过加入模型复杂度的惩罚项来避免过拟合问题,此处我们介绍一下常用的两个模型选择方法 赤池信息准则(Akaike Information Criter ...
- 启动eclipse弹出提示Version 1.7.0_79 of the JVM is not suitable for this product. Version: 1.8 or greater is required怎样解决
启动eclipse时弹出如下弹出框: 解决办法: 在eclipse安装目录下找到eclipse.ini文件,并在 -vmargs-Dosgi.requiredJavaVersion=1.8 前面加上 ...
- C#多线程和异步(一)——基本概念和使用方法
一.多线程相关的基本概念 进程(Process):是系统中的一个基本概念. 一个正在运行的应用程序在操作系统中被视为一个进程,包含着一个运行程序所需要的资源,进程可以包括一个或多个线程 .进程之间是相 ...
- Codeforces 954 G. Castle Defense
http://codeforces.com/problemset/problem/954/G 二分答案 检验的时候,从前往后枚举,如果发现某个位置的防御力<二分的值,那么新加的位置肯定是越靠后越 ...
- JS中的call()方法和apply()方法用法总结
原文引自:https://blog.csdn.net/ganyingxie123456/article/details/70855586 最近又遇到了JacvaScript中的call()方法和app ...