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 <条件判断 ...
随机推荐
- Unity 之 C# 利用回调函数实现C++匿名函数
做C++开发的都用过匿名函数很好用,可是C#开发怎么实现呢?前几天做一个拍照功能的时候.我偶然发现某个函数假设是C++的话.用匿名函数太好了,于是開始研究C#的回调,代理.托付等,最后总算是实现了我想 ...
- STL 之 hash_map源代码剖析
// Filename: stl_hash_map.h // hash_map和hash_multimap是对hashtable的简单包装, 非常easy理解 /* * Copyright (c) 1 ...
- 面试基础_03实现strcpy、strcat、strcmp、strlen
实现代码例如以下: /************************************************************************* > File Name: ...
- 数字信号处理C语言集(1.1 随机数的产生)
main.cpp 所建工程文件如下图所示 uniform.h #ifndef _UNIFORM_H_ #define _UNIFORM_H_ double uniform(double a,doub ...
- Vue进阶之事件处理器
过滤 <html> <head> <meta charset="UTF-8"> <meta name="viewport&quo ...
- Android中Gallery和ImageSwitcher同步自动(滚动)播放图片库
本文主要内容是如何让Gallery和ImageSwitcher控件能够同步自动播放图片集 ,看起来较难,然而,实现的方法非常简单, 请跟我慢慢来.总的来说,本文要实现的效果如下图:(截图效果不怎么好) ...
- 休假结束,Linus重回内核开发岗位
在休假反省一个多月之后,Linus Torvalds 又回来了.10 月 22 日爱丁堡举行的欧洲开源峰会上,Linus Torvalds 将与内核维护者们碰头,这是他重新接管Linux内核开发的第一 ...
- or in 、Object.keys()以及Object.getOwnPropertyNames有什么区别?
or in .Object.keys()以及Object.getOwnPropertyNames的区别 var obj= Object.create(parent, { b: { value: 2, ...
- Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
可以在项目中加入log4j,将logj4.properties文件拷入到src目录下,这样框架执行的sql就可以输出到到控制台,log4j提供的日志级别有以下几种: Fatal error war ...
- [Python] Reuse Code in Multiple Projects with Python Modules
A module is a function extracted to a file. This allows you to import the function and use it in any ...