人生苦短,我用Python(4)
1、创建数值元组:
在Python中,使用tuple()函数直接将range()函数循环出来的结果转换为数值元组。
tuple(data) #tuple()函数的基本语法
data表示可以转换为元组的数据,其类型可以是range对象、字符串、元组或其他可迭代类型的数据。
(1)创建一个10~20(不包括20)所有偶数的元组。
double=tuple(range(,,))
print(double)
2、删除元组:
对于已经创建的元组,不再使用时,可以使用del语句将其删除。语法格式如下。
del tuplename #tuplename 表示要删除元组的名称
del语句在实际开发时,并不常用,因为Python自带的垃圾回收机制会自动销毁不用的元组,所以即使我们不手动将其删除,Python也会自动将其回收。
team=["勇士","掘金","开拓者"]
del team
3、查看元组中的元素:
在输出全部元组元素时,是包括左右两侧的小括号的,如果不想输出全部的元素,可以通过索引查看指定的元素。
元组也可以使用切片的方式来获取指定的元素,例如访问元组的前三个元素。
print(title[:]) #title表示的是元组
(1)例题:使用for循环列出咖啡馆里的咖啡名称,在每一个咖啡名字后都加上“咖啡”名称。
coffee=('卡布奇诺','曼特宁','摩卡','哥伦比亚','蓝山')
for name in coffee:
print(name+"咖啡",end=" ")
(2)将coffee里的“摩卡”替换成“拿铁”。但是以下的代码是会出错的
coffee=('卡布奇诺','曼特宁','摩卡','哥伦比亚','蓝山')
coffee[]='拿铁'
print(coffee)
因为元素是不可变序列,我们不能对元组的单个元素值进行修改,如果要更新元组里的数据要重新赋值。
(3)对元组进行连接组合。
title=("库里","利拉德","欧文")
print("原组合:",title)
title=title+("沃克","威少")
print("新组合:",title)
title=title+("隆多",)
print("新组合:",title)
及逆行元组连接时,连接的内容必须都是元组,不能将元组和字符串或者列表进行连接。如果要连接的元组只有一个元素时,一定要记得在元素后面加上逗号。
4、元组推导式:
元组推导式和列表推导式类似,只是将列表的“()”换成“[ ]”
number=(i for i in range())
for i in number:
print(i,end=" ")
print(tuple(number))
5、元组和列表的区别:
元组和列表都属于序列,类型不受限制。列表类似用铅笔在纸上写下的东西,写错了还可以擦掉;元组则类似于钢笔写下的歌词,写错就擦不掉了,只能换纸重写。
列表和元组的区别主要体现在以下几个方面:
(1)列表属于可变序列,它的元素可以随时修改或者删除;元组属于不可变序列,其中的元素不可以修改,除非整体替换。
(2)列表可以使用append()、extend()、insert()、remove()和pop()等方法实现添加和修改列表元素,而元组没有这几个方法,所以不能向元组中添加和修改元素。同样,元组也不能删除元素。
(3)列表可以使用切片访问和修改列表中的元素。元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改。
(4)元组比列表的访问和处理速度快,所以当只是需要对其中的元素进行访问,而不进行任何修改时,建议使用元组。
(5)列表不能作为字典的键,而元组则可以。
4.4 字典
在Python中,字典与列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存的内容是以“键-值对”的形式存放的。
类似新华字典,可以把拼音和汉字关联起来,通过音节表可以快速找到想要的汉字,音节表相当于键(key),而对应的汉字相当于值(value)。键是唯一的,而值可以有多个。
1、字典的特征:
(1)通过键而不是通过索引来读取
字典有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取。
(2)字典是可变的,并且可以任意嵌套
字典可以在原处增长或者缩短(无须生成一个副本)。并且它支持任意深度的嵌套(即它的值可以是列表或者其他的字典)。
(3)字典中的键必须唯一
不允许同一个键出现两次,如果出现两次,则后一个值会被记住。
(4)字典中的键不可变
字典中的键是不可变的,所以可以使用数字、字符串或者元组,但不能使用列表。
2、字典的创建和删除:
定义字典时,每个元素都包含两个部分“键”和“值”。以水果名称和价格的字典为例,键为水果名称,值为水果价格。
创建字典时,在“键”和“值”之间使用冒号分隔,相邻两个元素使用逗号分隔,所有元素放在一对“{ }”中。
dictionary={'key1':'value1','key2':'value2'...}
dictionary:表示字典名称。
key1、key2:表示元素的键,必须是唯一的且不可变,可以是字符串、数字或者元组。
value1、value2:表示元素的值,可以是任何数据类型,不是必须唯一的。
(1)创建一个通讯录的字典:
dictionary={'QQ':'','联系电话':'','住址':'北京'}
print(dictionary)
(2)同列表和元组一样,也可以创建空字典,在Python中,可以使用下面两种方法创建空字典。
dictionary={}
或
dictonary=dict()
Python中的dict() 方法除了可以创建一个空字典外,还可以通过已有数据快速创建字典,主要表现为以下两种方式:
①通过映射函数创建字典:
dictionary=dict(zip(list1,list2))
dictionary:表示字典名称
zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果想获取元组,可以将zip对象使用tuple()函数转换为元组;
如果想获取列表,则可以使用list()函数将其转换为列表。
verson1=["勇士","火箭","雷霆"]
verson2=["库里","哈登","保罗"]
verson=dict(zip(verson1,verson2))
print(verson)
②通过给定的”键-值对“创建字典
dictionary=dict(key1=value1,key2=value2...)
dictionary:表示字典名称
key1,key2:表示元素的键,必须是唯一的且不可变,例如可以是字符串、数字或者元组。
value1,value2:表示元素的值,可以是任何数据类型,不是必须唯一的。
verson=dict(勇士='库里',火箭='哈登',雷霆='保罗')
print(verson)
(3)在Python中,可以适应dict对象的fromkeys()方法创建值为空的字典:
dictionary=dict.fromkeys(list1)
dictionary:表示字典名称
list1:作为字典的键的列表
team=["开拓者","独行侠","76人","凯尔特人"]
dictionary=dict.fromkeys(team)
print(dictionary)
(4)删除字典
同列表和元组一样,不再需要的字典也可以使用del命令删除整个字典。
del diciionary #dictionary表示字典名称
另外,如果只想删除字典的全部元素,可以使用字典对象的clear()方法实现,执行clear()方法后,原字典将变为空字典。
dictionary.clear()
还可以使用地点对象pop()方法删除并返回指定”键“的元素,以及使用字典对象的popitem()方法删除并返回字典中的一个元素。
3、通过键值对访问字典
在使用字典时,很少直接删除它的内容,一般需要根据指定的键得到相应的结果。在Python中访问字典的元素可以通过下标的方式实现,与列表和元组不同,这里的下标不是索引号,而是键。
使用if语句判断键是否存在。
为了解决因键值不存在而抛出异常,可以为get()方法设置默认值,这样当指定的键不存在时,得到结果就是指定的默认值。
人生苦短,我用Python(4)的更多相关文章
- 人生苦短,我用Python(1)
一.人生苦短,我用Python 在文章的开头给大家介绍一下Python语言,作者Guido von Rossum.对,就是图中的“人生苦短我用Python”那哥们.你可能以为我会用很多文字介绍Pyth ...
- 人生苦短之---认识Python
认识 Python 人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 为什么要用 Python? Python 的特点 Py ...
- 初学者路径规划 | 人生苦短我用Python
纵观编程趋势 人生苦短,我用Python,比起C语言.C#.C++和JAVA这些编程语言相对容易很多.Python非常适合用来入门.有人预言,Python会成为继C++和Java之后的第三个主流编程语 ...
- 人生苦短我用Python 第三周 函数周
函数的定义: 1,def 函数名(参数1,参数2......): "注释:函数的作用和参数,增加可读性", 2,函数体 3,返回值 最简单的函数: def func(): prin ...
- 人生苦短,我用python(目录)
一.python基础篇 python中闭包及延时绑定问题 python中的装饰器.生成器 二.前端 bootstrap框架 BOM&DOM JavaScript中的词法分析 三.数据库 mys ...
- 人生苦短,我用python
星空不问赶路人,时光不负有心人,你可以脱变. 1.计算机的初步认识 2.解释器的安装 python2.7(2020年官方不在维护) python3.6 (官方推荐) 1.下载安装包 https://w ...
- 深度学习之美(张玉宏)——第四章 人生苦短我用python
1 函数参数 (1)收集参数:以一个星号*加上形参名的方式,表示这个函数的实参个数不定,可能0个可能n个. def varParaFun(name,*param): print('位置参数是:',na ...
- 人生苦短我用Python,本文助你快速入门
目录 前言 Python基础 注释 变量 数据类型 浮点型 复数类型 字符串 布尔类型 类型转换 输入与输出 运算符 算术运算符 比较运算符 赋值运算符 逻辑运算符 if.while.for 容器 列 ...
- 人生苦短 我用Python 第二周的第一天 (数据类型)
数字: 整形 int 长整形(Python3里面把整形.长整形和到一起啦) 浮点型( float) 1.3 5.2 等等 科学技术发表示 1.3e-3=0.0013 e的代表10. bin是二 ...
- 一句话打印'*'图案(列表推导式, 人生苦短, 我用Python)
```python # coding=utf-8 print ('\n'.join(['*'*6 for i in range(4)])) # ****** # ****** # ****** # * ...
随机推荐
- 【Android内存机制分析】了解Android堆和栈
昨天用Gallery做了一个图片浏览选择开机画面的功能,当我加载的图片多了就出现OOM问题.以前也出现过这个问题,那时候并没有深究.这次打算好好分析一下Android的内存机制. 因为我以前是做VC+ ...
- 3、.net core 部署到IIS
1)下载对应的Hosting Bundle https://dotnet.microsoft.com/download/dotnet-core/2.2 2)VS发布项目,选择window平台环境 3 ...
- 第三期 行为规划——4.形式化FSM
让我们考虑一个简单的自动售货机,其中一切花费20美分.假设这台自动售货机只需要镍和硬币,但没有更大或更小. 然后,我们可以模拟状态这台自动售货机以已存入的金额为准.起始状态将为零美分.有两种可能发生. ...
- 什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
https://mp.weixin.qq.com/s/Co1LxS2h_ILh9syOmshjZg 什么是CGI CGI全称是“公共网关接口”(Common Gateway Interface),HT ...
- 在SQL中number(16,5)中的16和5 及number( 5,-2)中的5和-2是什么意思?
在SQL中number(16,5)中的16和5 及number( 5,-2)中的5和-2是什么意思? 2018-06-04 19:23:24 xiaonan_IT 阅读数 3672 版权声明:本文 ...
- Python--day65--Django框架介绍
原文链接:http://www.cnblogs.com/liwenzhou/p/8296964.html 做web开发用的是MVC框架: Django框架简介 MVC框架和MTV框架(了解即可) MV ...
- Python--day48--ORM框架SQLAlchemy之子查询
一定要把第一次查询的结果作为一个结果再进行查询:代码后面加.subquery()标明是子查询 1,简单的子查询 #select * from (select * from tb) as B q1 = ...
- Python--day47--内容回顾
1.什么是数据库
- Python--day26--封装和@property
---恢复内容开始--- @property:修饰过的方法不能传任何参数,把方法伪装成属性,没有这个装饰就像c1.area()这样调用,少了一个括号,没什么用. @name.setter:实现可以修改 ...
- 用于数组的delete p324
delete 对象地址; delete 首先调用待清除对象的析构函数,然后释放内存 如果delete一个void指针,唯一发生的事情就是释放了内存.因为通过void指针,无法知道对象的类型,就无法调用 ...