[Python 从入门到放弃] 2. 列表的其它操作
1. 列表可以混合不同类型的数据项
movies=['《黄飞鸿之英雄有梦》','《寒战2》','《乘风破浪》']
在这句代码中,数据项为电影名称,现在这个列表用来保存电影。
我需要也把电影的发行的年份也保存进来,类似这种格式:
《黄飞鸿之英雄有梦》 2014 《寒战2》2016 《乘风破浪》2017
在每部电影后面都加上年份。
这可以用到列表的了一个特性,不同类型的数据可以混合在同一个列表。
ps:在java或者c++中,同一个数组只能保存同一种数据类型的元素
修改后是这样:
movies=['《黄飞鸿之英雄有梦》',2014,'《寒战2》',2016,'《乘风破浪》',2017] 现在有两种方法:1.直接定义一个这样的列表
movies=['《黄飞鸿之英雄有梦》',2014,'《寒战2》',2016,'《乘风破浪》',2017]
2.在原来的列表上进行插入
# 原本是movies=['《黄飞鸿之英雄有梦》','《寒战2》','《乘风破浪》'] movies.insert(1,2014) # 在0后面插入 movies.insert(3,2016) # 上一句代码已经插入了一个数 所以现第二部电影的位置为2 插入位置就为3 movies.append(2017) #最后的数直接用append()就好
2.列表中的列表
现在,需要在电影列表中加入主演的名字
我们重新定义一个列表:
movies=['《黄飞鸿之英雄有梦》',['彭于晏','王珞丹','井柏然'],'《寒战2》',['彭于晏','梁家辉','郭富城'],'《乘风破浪》',['彭于晏','邓超','赵丽颖']]
对,还有这种操作!
列表中可以包含列表
这样子就有两层列表,外围列表and嵌套列表,也就是列表中的列表
问题1:如何遍历输出列表的数据项:
for item in movies: # item只是一个自定义变量
print(item)
'''执行过程:1. 将列表的一个数据项赋值给item (item 是合法变量)2.执行冒号里面的代码段:打印输出item3.循环操作第1.2步骤,知道列表中所有的数据项都使用过'''
运行结果:
《黄飞鸿之英雄有梦》
['彭于晏','王珞丹','井柏然']
《寒战2》
['彭于晏','梁家辉','郭富城']
《乘风破浪》
['彭于晏','邓超','赵丽颖'] '''运行的结果,虽然能够将电影名字都输出,以及输出其演员名单,但并不能逐个输出演员名字'''
也就是,这次遍历是外围列表的数据项都输出了(嵌套的列表也被视为外围列表的数据项),但内层嵌套的列表的数据项并不能逐一打印输出
我们需要是这样的:
《黄飞鸿之英雄有梦》 彭于晏 王珞丹 井柏然
怎么办?
isinstance()方法可以排上用场:
isinstance()方法用于判断参数1是否是参数2指定的那种数据类型,是返回True,错误False
isinstance(movies,list) # 判断movies是不是一个列表 return True/False
上面我们想要打印输出内层嵌套列表的数据项,
1.可以在外围列表遍历的时候检测该数据项是不是列表
2.如果是,再遍历该列表 如何打印输出
3.如果不是,直接打印输出
for item in movies:
if isinstance(item,list): #判断是不是列表
for item_in in item:
print(item_in)
else:
print(item) #不是就直接输出
执行结果:
《黄飞鸿之英雄有梦》 彭于晏 王珞丹 井柏然 《寒战2》 彭于晏 梁家辉 郭富城 《乘风破浪》 彭于晏 邓超 赵丽颖
现在已经OJBK了,但是好像还有问题?
[Python 从入门到放弃] 2. 列表的其它操作的更多相关文章
- [Python 从入门到放弃] 1. 列表的基本操作
''' 列表 Create By 阅后即焚 On 2018.1.29 ''' 1. 列表的定义 列表看起来好像其它编程语言中的数组,但列表具备更加强大的功能,它是Python完备的集合对象,现在,你可 ...
- [Python 从入门到放弃] 6. 文件与异常(二)
本章所用test.txt文件可以在( [Python 从入门到放弃] 6. 文件与异常(一))找到并自行创建 现在有个需求,对test.txt中的文本内容进行修改: (1)将期间的‘:’改为‘ sai ...
- Python从入门到放弃系列(Django/Flask/爬虫)
第一篇 Django从入门到放弃 第二篇 Flask 第二篇 爬虫
- python全栈开发从入门到放弃之列表的内置方法
1.列表切片 l=['a','b','c','d','e','f'] print(l[1:5]) # 根据索引号来切片,但顾头不顾尾 ['b', 'c', 'd', 'e'] print(l[1:5: ...
- Python从入门到放弃
计算机基础 01 计算机基础之编程 02 计算机组成原理 03 计算机操作系统 04 编程语言分类 Python解释器 05 Python和Python解释器 06 执行Python程序的两种方式 0 ...
- [Python 从入门到放弃] 5. 文件与异常(一)
1.文件操作: 文件操作包含读/写 从文件中读取数据 向文件写入数据 Python中内置了open()方法用于文件操作 (更多关于open()BIF介绍 阅读此篇) 基本模板: 1.获取文件对象 2. ...
- [Python 从入门到放弃] 4. 什么是可选参数
参数在函数中使用,顾名思义.可选参数就是:这个参数是可选的 也就是可有可无 我们来看一下这个例子: ver 1: 1.定义一个迭代输出列表元素的函数myPrint 2.参数为 列表 def myPri ...
- [Python 从入门到放弃] 3. BIF(内建函数)
BIF (built-in functions) Python中提供了70多个内建函数,具备大量的现成功能. BIF不需要专门导入,可以直接使用,拿来就用 1.print() # 在屏幕上打印输出 如 ...
- Python知识点入门笔记——特色数据类型(列表)
Python中提供了列表这种数据类型(类型为list)来存储多个值构成的序列 用逗号将不同数据分隔开,整体放在一个方括号[]里就创建了列表 列表中的数据类型可以是相同的,也可以是不同的 列表中还可以嵌 ...
随机推荐
- C#系列之{流和序列化}
不论何种类型的文件都可以表示为一个字节数组.(Byte[]) 一.文件复制 (示例) 首先建立一个类似管道的东西将文件和内存中的程序连接,并将文件按字节发送.为了保存接收到的文件字节,需要创建一个字节 ...
- MapReduce、Hadoop、PostgreSQL、Spark
分布式数据库 操作指令 如何实现云计算?注:GIS数据集 谷歌集群系统主要包括三个部分:分布式文件系统GFS,分布式并行计算模型map/reduce,以及分布式数据库Bigtable hadoop是g ...
- Django URLs error: view must be a callable or a list/tuple in the case of include()
Django 1.10 no longer allows you to specify views as a string (e.g. 'myapp.views.home') in your URL ...
- python迭代器实例
1. 迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. 1.1 使用迭代 ...
- .net正则表达式实例
正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpression ...
- [kuangbin]树链剖分 D - 染色
https://vjudge.net/contest/251031#problem/Dhttps://blog.csdn.net/kirito_acmer/article/details/512019 ...
- POJ 1191棋盘分割问题
棋盘分割问题 题目大意,将一个棋盘分割成k-1个矩形,每个矩形都对应一个权值,让所有的权值最小求分法 很像区间DP,但是也不能说就是 我们只要想好了一个怎么变成两个,剩下的就好了,但是怎么变,就是变化 ...
- 我的ecshop二次开发经验分享
https://jingyan.baidu.com/article/358570f65dbad2ce4724fcc7.html
- ASP.NET Core 2.1 源码学习之 Options[3]:IOptionsMonitor
前面我们讲到 IOptions 和 IOptionsSnapshot,他们两个最大的区别便是前者注册的是单例模式,后者注册的是 Scope 模式.而 IOptionsMonitor 则要求配置源必须是 ...
- 如何把jar包发布到maven私服
1.格式 mvn deploy:deploy-file -DgroupId=com.qiyi -DartifactId=sphinx -Dversion=1.0 -Dpackaging=jar -Df ...