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. 列表的其它操作的更多相关文章

  1. [Python 从入门到放弃] 1. 列表的基本操作

    ''' 列表 Create By 阅后即焚 On 2018.1.29 ''' 1. 列表的定义 列表看起来好像其它编程语言中的数组,但列表具备更加强大的功能,它是Python完备的集合对象,现在,你可 ...

  2. [Python 从入门到放弃] 6. 文件与异常(二)

    本章所用test.txt文件可以在( [Python 从入门到放弃] 6. 文件与异常(一))找到并自行创建 现在有个需求,对test.txt中的文本内容进行修改: (1)将期间的‘:’改为‘ sai ...

  3. Python从入门到放弃系列(Django/Flask/爬虫)

    第一篇 Django从入门到放弃 第二篇 Flask 第二篇 爬虫

  4. python全栈开发从入门到放弃之列表的内置方法

    1.列表切片 l=['a','b','c','d','e','f'] print(l[1:5]) # 根据索引号来切片,但顾头不顾尾 ['b', 'c', 'd', 'e'] print(l[1:5: ...

  5. Python从入门到放弃

    计算机基础 01 计算机基础之编程 02 计算机组成原理 03 计算机操作系统 04 编程语言分类 Python解释器 05 Python和Python解释器 06 执行Python程序的两种方式 0 ...

  6. [Python 从入门到放弃] 5. 文件与异常(一)

    1.文件操作: 文件操作包含读/写 从文件中读取数据 向文件写入数据 Python中内置了open()方法用于文件操作 (更多关于open()BIF介绍 阅读此篇) 基本模板: 1.获取文件对象 2. ...

  7. [Python 从入门到放弃] 4. 什么是可选参数

    参数在函数中使用,顾名思义.可选参数就是:这个参数是可选的 也就是可有可无 我们来看一下这个例子: ver 1: 1.定义一个迭代输出列表元素的函数myPrint 2.参数为 列表 def myPri ...

  8. [Python 从入门到放弃] 3. BIF(内建函数)

    BIF (built-in functions) Python中提供了70多个内建函数,具备大量的现成功能. BIF不需要专门导入,可以直接使用,拿来就用 1.print() # 在屏幕上打印输出 如 ...

  9. Python知识点入门笔记——特色数据类型(列表)

    Python中提供了列表这种数据类型(类型为list)来存储多个值构成的序列 用逗号将不同数据分隔开,整体放在一个方括号[]里就创建了列表 列表中的数据类型可以是相同的,也可以是不同的 列表中还可以嵌 ...

随机推荐

  1. re模块,subprocess模块

    """ RE是什么 正则 表达 式子 就是一些带有特殊含义的符号或者符号的组合 它的作用是对字符串进行过滤 在一堆字符串中找到你所关心的内容 你就需要告诉计算机你的过滤规 ...

  2. (转)ASP.NET MVC 4 RC的JS/CSS打包压缩功能

    转自:http://www.cnblogs.com/shanyou/archive/2012/06/22/2558580.html 打包(Bundling)及压缩(Minification)指的是将多 ...

  3. JAVA作业之动手动脑

    1.枚举类型是引用类型,但例子输出结果引用的不是同一个类型.枚举类型可以有自己的属性(参数)和方法,枚举类型可以以独立的文件存在. 2.第一个"X+Y="+X+Y的运行结果是默认为 ...

  4. [翻译] ASP.NET WebAPI 中的异常处理

    原文链接:https://docs.microsoft.com/en-us/aspnet/web-api/overview/error-handling/exception-handling 本文介绍 ...

  5. 扩展 StackExchange.Redis 支持实体

    一.StackExchange.Redis StackExchange.Redis是由Stack Overflow开发的C#语言Redis客户端,使用广泛,本文针对 StackExchange.Red ...

  6. .net图表之ECharts随笔07-自定义系列(多边形)

    搞了一天多,才勉强搞出了一个不紧凑的六边形统计图,是真的菜. 这里ECharts的用法与06说的同一种,直接使用带all的js 先上个效果图,用面积来表示人数的多少 1. 参数option的toolt ...

  7. git常用命令常用场景

    在使用git之前,一直用的是svn版本管理:与svn最大不同的是,git有两个仓库,一个是本地仓库,一个是服务器上共享的仓库:本地仓库是每个开发者自己独有的,即使commit提交也只是提交到本地仓库: ...

  8. google breakpad for linux(2)

    breakpad 是什么 breakpad 是一个包含了一系列库文件和工具的开源工具包,使用它可以帮助我们在程序崩溃后进行一系列的后续处理,如现场的保存(core dump),及事后分析(重建 cal ...

  9. java之Collection框架

    Collection的一些框架类的关系图: 1 Collection简介 Collection的定义 public interface Collection<E> extends Iter ...

  10. Mysql root账号general_log_file方法获取webshell

    在前面的phpmyadmin漏洞利用专题中介绍了如何通过root账号来获取webshell,但在现实情况中,由于Mysql版本较高以及配置文件的缘故,往往无法直接通过root账号写入网站真实路劲下获取 ...