python学习 第六天课后总结:
python学习 第六天课后总结:
今日内容:
一,元组:tuple() 跟python其它数据类型一样,tuple()也是一个可将字符串转换成元组的内置函数
特点:
1,被元组转换的对象,一定是可迭代的对象,数字可不行滴,一般字符串或列表,转换后都会被拆成单个元素
在无组中存在,可以被for 循环给迭代的。
2,元组是有序排列,可通过索引值进行索引,当然也可以计算它的长度
例:tu = (a,b,c,d,e) #定义一个元组
print(len(tu)) #会显示: 3 当前元组的元素数量为3
s1 = tu[2:] #对元组进行切片,索取元组的元素并给变量s1赋值
print(tu.index(b,1,3)) #在元组中索引指定的元素x,指定从索引值1开始,
# 显示为 1 到索引值3结束的范围查找值为b的元素位置,默认可不指定范围
print(len(tu)) # 显示为 5 表示此元组中共有五个元素
3,元组是不可变类型的python数据类型。里面的元素是不可更改滴,但如果元素为列表,或字典时,可变列表或
列表的值。
例:t2 = (1,["a","b","c"],{"name":"Frank"})
t2[1][2] = "d" #重新定义元素中索引值为1的列表中的索引位置为2的值
t2[2]["name"] = "aibapspl#重新定义元素中索引值为2的字典中的索引位置为"name"的值
print(t2) #显示为:(1, ['a', 'b', 'd'], {'name': 'aibapspl'})
4,如果定义元组时,值只有一个,在此元素后一定要加一个逗号,代表后面还有元素,可被for循环迭代。
例: tu1 = tuple(1,) #当元素只有一个时,定义元组时,此元素后面一定要加逗号!
5,应用场景: 根据需要,元组和列表可以互相转换。
例 li = [1,2,3] #定义一个列表
tu = tuple(li) #使用tuple()内置函数转换列表
print(type(tu)) #查看转换后的类型
<class 'tuple'> #显示为元组类型
l2 = list(tu) #使用函数list()转换无组
print(type(l2)) #查看转换后的类型
<class 'list'> #显示为列表类型
二,字典 dict{} 此数据类型为python语言中唯一的mapping类型,即一个key对应一个value
特点:
1, 字典内的元素都是以键值对形式存在,即key:value的形式一一对应,key与value之间使用冒号分隔,每个 元素之间使用逗号隔开
key:只能是不可变类型,如数字类型,元组,字符串和布尔型
value: 所有类型都可以为value
例: dic1 = {123:None,None:123,(1,2):[a,b],True:None,{"s":2}:1.92,2.16:2.16}
2,字典中的key具有唯一性,如果字典中已存在一个值,如果再赋值一个相同的key,字典中key的值会被覆盖
例:dic1 = {123: None,} #定义一个字典
dic1[123] = "abc" #替换字典中key为123的值为"abc"
print(dic1) #打印字典
{123: 'abc'}
3, 字典是无序存储的,所以无法使用index()索引,只能靠取key来更改key的值,
例: dic1 = {123: None} #定义一个字典
print(dic1[123]) #查询字典中key为123的值
abc #显示key的值为abc
print(type(dic1[123])) #查询这个key的值的类型
<class 'str'> #显示为字符串类型
内置属性的使用方法:
.pop() 根据key来指定要删除的元素
例: dic1 = {123: None,"name":"Frank"} #定义一个字典
dic1.pop("name") #删除一个key为"name"的元素
print(dic1) #打字删除后的字典
{123: None} #结果显示,key为"name"的元素已删除
.copy() 浅拷贝 相当系统另申请一个内存空间以来存放与原字典一样的值
例: dic1 = {123: None} #定义一个字典
dic2 = dic1.copy() #字典dice2复制dict1的值
print(dic2) #打字dice2的值
{123: None} #显示dice2的值
print(id(dic1),id(dic2)) #打印出二个字典的内存id
4567702768 4644934784 #显示出二个字典的内存id不相同
三,集合 set()
特点:
1,单列的数据集合,内部可以存储任意类型的数据,但每个数据都具有唯一性
例: li = [1,2,3,4,2] #创建一个空集合
s1 = set(li) #将列表转换成集合
print(s1) #打印出集合的值
{1, 2, 3, 4}
print(type(s1)) #打印类型
<class 'set'> #显示的类型为集合
2,无序存储 无法使用key或索引值来取值
使用场景:集合间的运算
例:s1 = {1,2,3,"x"} #创建四个集合
s2 = {1,2,3,"y"}
s3 = {4,5,6}
s4 = {1,2,3,4,5,6}
print(type(s1),type(s2),type(s3),type(s4)) #打印类型
<class 'set'> <class 'set'> <class 'set'> <class 'set'> #显示都为集合
交集:&
print(s1 & s2) #打印出二个集合之间的交集,即相同的元素
{1, 2, 3} #显示出二个集合间的相同元素
并集:|
print(s1 | s2) #打出出二个集合的并集,即把二个集合的所有元素集合,并去除重复元素
{1, 2, 3, 'x', 'y'} #显示出二个集合的所有元素,并去除了重复的部分
差集:-
print(s4 - s3) #打印出s4与s3的差集 即用s4里的所有元素减去s3的元素,留下的就是s3 中没有的元素
{1, 2, 3} #显示出s3中没有的元素
也可使用函数: 集合一.symmetric_difference(集合二)来完成来完成
print(s4.symmetric_difference(s3)) #打印出s4与s3的差集 即用s4里的所有元素减去 {1, 2, 3} s3的元素,留下的就是s3中没有的元素
print(s4.symmetric_difference(s3))
对称交集: ^
print(s1 ^ s2) #打印出二个集合的对称交集 即显示出二个集合中相互没有的元素
{'x', 'y'} #显示出这二个集合相互没有的元素
也可使用函数: 集合一.symmetric_difference(集合二)来完成
print(s1.symmetric_difference(s2))
{'x', 'y'} ##显示出这二个集合相互欠缺的元素
python学习 第六天课后总结:的更多相关文章
- python学习第六天运算符总结大全
python学习第六天运算符总结大全,玖乐网络(www.96net.com.cn)列出下面详细 1,算术运算符 + 加 - 减 *乘 / 除 % 求模 ** 乘方 // 取整除 - 返回商的整数部分 ...
- python学习第六天
一. 模块介绍1. 模块的定义:用一堆代码实现了某个功能的代码集合 包的定义:本质就是一个目录(必须导游一个_init_.py文件),是用来从逻辑上组织模块的.2. 需要多个函数才能完成(函数 ...
- python学习第六天 条件判断和循环
总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...
- python学习第六天:python基础(dict、set)
dict dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 创建&取值 为什么dict查找速度这么快? 因为 ...
- python学习第六天:python基础(条件判断、循环)
条件判断 格式 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> ...
- 数据类型+内置方法 python学习第六天
元组 用途:不可变的列表,能存多个值,但多个值只有取的需求而没有改的需求. 定义方式:在()内用逗号分隔开多个元素,可以存放任意类型的值. names=(‘alex’,’blex’,’clex’) 强 ...
- python学习第六天--匿名函数、过滤、映射
匿名函数 lambda表达式 过滤器 filter(判断函数,可迭代对象) 会根据提供的函数对指定序列做过滤 映射 map(判断函数,可迭代对象) 会根据提供的函数对指定序列做映射
- Python 学习 第三天 课后总结:
PYTHON学习第三天课后总结: 1,注释:就是对代码起到说明注解的作用. 注释分为单行注释与多行注释. 单行注释:只注释一行代码在需要注释的所在行的行首使用#号来注释此行,注意#与代码之间需要 ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
随机推荐
- rgba
正反两面展示效果 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head& ...
- django 笔记2
默默坚持 :路由系统 URL :视图 request.GET request.POST request.FILES #checkbox等多选的内容 request.POST.getlist() #上传 ...
- Android 勤用RXJava compose操作符消除重复代码
相信小伙伴在使用RXJava与Retrofit请求网络时,都有遇到过这样的场景,在IO线程请求网络解析数据,接着返回主线程setData.更新View试图,那么也肯定熟悉下面这几句代码: .subsc ...
- Python(四) 分支、循环、条件与枚举
一.什么是表达式 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列 二.表达式的优先级 三.表达式优先级练习 优先级同级 从左往右计算 1 or 2 a ...
- Jesse's Code
题目描述 Jesse是个数学迷,他最喜欢研究“哥德巴赫猜想”,因此他的计算机密码也都采用素数. 但一直用同一个密码是不安全的,所以他要经常更换他的密码.但他只允许自己的密码中出现某些数字,且密码的每一 ...
- Python3爬虫之爬取某一路径的所有html文件
要离线下载易百教程网站中的所有关于Python的教程,需要将Python教程的首页作为种子url:http://www.yiibai.com/python/,然后按照广度优先(广度优先,使用队列:深度 ...
- JAVA实现排队论
转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/50401727 http://www.llwjy.com/blogdetail/3 ...
- sql-server 2005数据库文件恢复(检測到基于一致性的逻辑 I/O 错误)
今天sql-server数据库突然报错: SQL Server 检測到基于一致性的逻辑 I/O 错误 校验和不对(应为: 0x7c781313,但实际为: 0x67a313c9). 在文件 'C:\P ...
- java8新增特性(一)---Lambda表达式
Lambda表达式也成为闭包,是java语言层次上的改变,Lambda同意把函数作为一个方法的參数(函数作为參数传递进方法中),或者把代码看成数据.函数式程序猿对这一概念非常熟悉. 在JVM平台上有非 ...
- 自定义控件之onMeasure
最近一直在接触自定义控件的知识,自己就尝试着写了一个小的demo,算是对自定义知识点进行下总结 今天先来看下自定义控件需要重写的三个重要方法 看代码 package com.example.testc ...