python序列类型举例说明_Python(第八课,序列类型)

引言:

我们之前学过整数,浮点数,字符串,今天带来的更具有包容性。

今天带来的是高级数据类型,包括列表,元组,集合和字典。根据他们特性不同,可以分为序列类型,集合类型,键值类型。

一,序列类型

1.1 列表类型

列表的标识是list。在英文中翻译为清单的意思,同理,在Python中,可以同样的理解。比如我们去超市购买了”梨子“,”苹果“,”香蕉“,如果我们用之前的知识,代码就是用3个变量,分别表示这3个物品:

item1="梨子"

item2="苹果"

item3="香蕉"

在编程中,最忌讳的就是重复性劳动,因此就引出列表的作用。

shopping_list = ["苹果","梨子","香蕉"]

print('今天我买了:')

for i in shopping_list:

print(i)

结果:

今天我买了:

苹果

梨子

香蕉

在上述第一行代码中,赋值的右边就是新认识的第一个数据类型---列表。31b1c9918ddf4dfff019930b0b8959ee32f5cbb7.png列表的创建

注意:其中的数据项,可以是各种类型的数据(整数,浮点数,字符串)

假如,我突然想吃肉了,于是又买了肉,那么这个肉就需要假如这个例表中。用法是列表名.append(需要添加的数据项);

shopping_list.append("meat"),更多的如下:688a441bd0dd5420314ba4c3fa036d82b7828737.png列表操作符

ec95f0280e3464c7834ed78bea58736511152f16.png列表操作符

补充:两个列表连接在一起也可以用extend,用法是:list1.extend(list2),不过输出的时候,因为这种连接是在list1上直接修改的,所以输出print(list1)即可。4aa545dccf7de8d4a93c2b2b8e3265ac0a26d216.png

1.2 列表推导式

举一个简单的例子:将一个列表中的每一个元素都平方,输出新列表b

代码:

a=[1,2,3,4]

b=[]

for i in a:

b.append(i**2)

print(b)

结果:[1,4,9,16]

如果采用列表推导式,该怎么做呢“

a=[1,2,3,4]

b=[i**2 for i in a]

print(b)

这这里,列表式主要有两部分组成:

循环变量i**2

for循环  for i in a

除此之外,我们还可以在for循环后面添加一个if语句。

例如:用列表式输出10以内大于4的整数列表

a=[number for number in range(11) if number>4]

print(a)

结果:[5, 6, 7, 8, 9, 10]

1.3 元组类型

元组类型,英文单词是tuple。元组的创建和列表相似,但是元组创建之后不能够改变,也就意味着我们不能对元组进行增加,删除,拼接等操作。但是,我们可以提取其中的元素。因此,元组就适合保存一些“机密”数据,2a45e0bade5ba571106660d72cf78866c23d9e3b.png元组的创建

注意:列表用的方括号,元组是圆括号。

1.4 索引和切片

通常字符串,元组,列表都是有长度的,我们用len()来查看他们的长度

例如:

school="电子科技大学"

school_list=['张三',"李四",'王五',"马冬梅"]

print("字符串的长度是:{}".format(len(school)))

print("列表的长度是:{}".format(len(school_list)))

结果:

字符串的长度是:6

列表的长度是:4

有了长度,那么我们就可以提取其中更多元素了。

补充:字符串中的各个元素都有自己的编号,电的编号就是0,学的编号就是5。

列表也是,张三的编号就是0,马冬梅的编号就是3。

因此,我们就可以根据编号进行索引。

程序:

school="电子科技大学"

school_list=["张三","李四","王五","马冬梅"]

a=school[1]

b=school_list[3]

print("{}的第2个元素是:{}".format(school,a))

print("{}的第4个元素是:{}".format(school_list,b))

结果:

电子科技大学的第2个元素是:子

['张三', '李四', '王五', '马冬梅']的第4个元素是:马冬梅c8068fcafb5882db2c58889d0a144ad0ed774b9b.png正负向索引

索引是指访问序列中单个元素,访问序列中连续的多个元素叫做切片。

例如:

student = ["张三", "李四", "王五", "李雷", "韩梅梅"]

print(student[1:3])

print(student[2:4])

print(student[2:])

print(student[:2])

print(student[:])

结果:

['李四', '王五']

['王五', '李雷']

['王五', '李雷', '韩梅梅']

['张三', '李四']

['张三', '李四', '王五', '李雷', '韩梅梅']

规律:

冒号左空,从头取数;

冒号右空;取到末尾;

冒号左右都不空,左数取,右数舍。

从上述也能够发现,索引取到得到是列表中的元素,而切片是截取了列表中的某个片段,所以结果还是列表。

1.5 循环遍历

列表的循环遍历和字符串类似:

student_list = ["张三", "李四", "王五", "李雷", "韩梅梅"]

for s in student_list:

print(s)

结果:

张三

李四

王五

李雷

韩梅梅71bf2cd56882a2e97f8b3477c9256f8b09f361d3.png

接下来,我们把循环遍历和索引结合起来。

school=["北京大学","清华大学","上海交通大学","复旦大学","浙江大学"]

for i in range(0,len(school)):

print("排名第{}的大学是:{}".format(i+1,school[i]))

结果:

排名第1的大学是:北京大学

排名第2的大学是:清华大学

排名第3的大学是:上海交通大学

排名第4的大学是:复旦大学

排名第5的大学是:浙江大学

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上传附件_留学落户|上传附件预审时一定一定要注意的问题!

点击上方蓝色字体,关注启铭君。www.minqifudao.com启铭君相信大家都知道,从2019年留学落户“一网通办”新系统上线,可以在网上进行材料申报,“让数据多走路,让群众少跑腿”。在新系统中填报资料,怎样才能做…

python斐波那契数列30_python的30个骚操作

1、冒泡排序2、计算x的n次方的方法3、计算a*a b*b c*c ……4、计算阶乘 n!5、列出当前目录下的所有文件和目录名6、把一个list中所有的字符串变成小写:7、输出某个路径下的所有文件和文件夹的路径8、输出某个路径及其子目录下的所有文件路径9、输出某个路径及其子…

python中值滤波介绍_Python 实现中值滤波、均值滤波的方法

红包:Lena椒盐噪声图片:# -*- coding: utf-8 -*- """ Created on Sat Oct 14 22:16:47 2017 author: Don """ from tkinter import * from skimage import io import numpy as np imio.imread(lena_sp.jpg, as_greyTrue) …

竖向图片插入_Word小技巧:让你的图片文字排版更有创意

想在头条中发表文章或者写论文,插入的图片太单调?今天小编就简单跟大家分享几个小技巧,图片搭配文字让你的版面更有可读性。第一种:最简单的横向文字排版具体做法:在word中插入图片后,插入一个文本框后输入…

11有没有压力感应_特殊感应器赋予机械手多维触感

最新研发的机械触感装备,已经不仅具有可伸展的韧性,还具有感知压力、形变和拉力的功能,将为软体机器人、虚拟现实(VR)和现实增强(AR)等设备带来革命性的巨变。美国康乃尔大学(Cornell University)工程学院副教授谢泼德(Rob Shepherd)说&#…

如何用手机打开dcm格式图片_如何防止自己的图片被盗用?这 4 招教你优雅加水印...

出门旅游一趟,好不容易拍到一组相当满意的图片。想要把这些图片上传到社交平台,如何才能让大家一看就知道这是自己拍的作品,同时又防止盗图呢?答案是在图片上加上自己的水印,这次有用功将和大家分享下,如何…

python 堆_面试再问你什么是堆和栈,你就把这篇文章甩给他

栈:管程序如何运行的,程序如何执行,如何处理数据。(局部变量其实也是存在栈中的,引用数据类型在栈中存的是地址引用)(栈的空间就不需要那么大了)堆:管数据存储的。(引用数据类型的存放,所以堆的空间是比较大的)生活理解…

3d 仪表盘_新一代标致2008官图发布 配备3D全息仪表盘

【太平洋汽车网 新车频道】标致发布了新一代2008的官图,新车基于PSA集团的CMP平台打造,采用了标致最新一代的家族式设计语言,造型风格极具辨识度。据悉,新一代2008将提供汽油、柴油和纯电动三种动力版本供消费者选择,其…

python人脸识别程序如何嵌入到app_只用Python就能写安卓,简单几步实现人脸识别的App...

最近闲来无事,研究研究在安卓上跑Python。 想起以前玩过的kivy技术,kivy[1]是一个跨平台的UI框架。当然对我们最有用的是,kivy可以把python代码打包成安卓App。但是由于安卓打包的工具链很长,包括android sdk打包java代码、ndk编译…

object htmldivelement什么意思_深入探究 Function amp; Object 鸡蛋问题

(给前端树加星标,提升前端技能)转自:高级前端进阶引言上篇文章用图解的方式向大家介绍了原型链及其继承方案,在介绍原型链继承的过程中讲解原型链运作机制以及属性遮蔽等知识,今天这篇文章就来深入探究下 F…

如何拉取k8s镜像_K8s 从懵圈到熟练 – 镜像拉取这件小事

导读:相比 K8s 集群的其他功能,私有镜像的自动拉取,看起来可能是比较简单的。而镜像拉取失败,大多数情况下都和权限有关。所以,在处理相关问题的时候,我们往往会轻松的说:这问题很简单&#xff…

hadoop没有datanode_Hadoop运行在Kubernetes平台实践

Hadoop与Kubernetes就好像江湖里的两大绝世高手,一个是成名已久的长者,至今仍然名声远扬,一个则是初出茅庐的青涩少年,骨骼惊奇,不走寻常路,一出手便惊诧了整个武林。Hadoop与Kubernetes之间有很深的渊源&a…

git 修改commit_Git从8到13 深入了解Git特性

上一章简单的介绍了一些常用的Git命令,这一章主要是深入了解一下Git的稍微高级的一些知识和指令。8.首先我们先来通过查看Git目录里面的文件来深入了解一下Git版本控制的构造。 查看HEAD可以知道当前所在的分支。在config文件里面存储着Git里面的一些配置信息&#…

eclipse maven打包jar 部分jsp无法访问_Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目...

Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目步骤1:删除j2ee目录步骤2:新建Maven 项目步骤3:这个界面点下一步步骤4: 这个界面使用webapp,点下一步 步骤5:这一步填写如图所示的信息步骤6:此时得到的maven web 项目的问题步骤…

final关键字_深入分析Java中的final关键字

Java中被final修饰的变量与普通变量有何区别?被final修饰的变量不可更改、被final修饰的方法不可重写是怎样做到的?带着疑问我们一点点拨开云雾。一、final的内存定义及规则对于final关键字,编译器、处理器从读写两个角度限制了其使用规则&am…

嵌入式和fpga哪个好前景_Java 和 go 哪个就业前景好一点?面向金钱编程,这个回答太现实...

有个朋友问我:ava 和 go 哪个就业前景好一点?现在纠结中,差不多一年半就要毕业了。我也问了几个朋友程序员朋友:朋友A: 可以参考 Boss 直聘,面向金钱编程,我身边的 Java 都是 15k 左右,反正干就…

php解决mysql主从同步_Mysql读写分离,主从同步实现

随着用户量的增多,数据库操作往往会成为一个系统的瓶颈所在,因此我们可以通过实现数据库的读写分离来提高系统的性能。通过设置主从数据库实现读写分离,主库负责“写”操作,从库负责“读”操作,根据压力情况&#xff0…

验证码图片显示不出来怎么办_pr 的蒙版不显示了怎么办?

小白自学pr一路会遇到很多坑,我也是在一个个坑里爬过的。画好的蒙版不显示了,这只能算是一个小坑。解决方法很简单,只需要记住一条:在pr里想要调整或者显示什么东西,首先必须要选中它。举例说明:我给小猫的…

gb2312编码表_汉字编码输入系统模型(一)

通过前面介绍的通信系统模型来分析汉字编码输入系统,将汉字编码输入系统的特殊性整合到通信系统模型中,从而建立起一种基于信息论的汉字编码输入系统模型(参见图3.2),以便指导我们的汉字编码输入实践,设计和…

java中sql语句怎么把开始和结束时间作为参数写sql查询_JDBC数据库连接怎么操作?...

之前一直听说过JDBC,但从来不知道它是何物的小伙伴们看过来啦!一、概述JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组…