#才疏学浅,难免有不恰当之处,请不吝指正,谢谢。

#适合初学者。

列表的数据自下而上堆放(形成一个堆栈),类似于其他编程语言的数组。例如:

user = ["张三","李四","王五"]

王五

李四

张三

使用[]中括号偏移量访问列表数据:

print(user[0])        输出: 张三
print(user[1])        输出:李四
print(user[2])        输出:王五

(一)列表常用的一些方法:

append() :在列表末尾增加一个数据项。
user = ["张三","李四","王五"]
user.append("李留")
此时,user = ['张三', '李四', '王五', '李留']
 
extend():在列表末尾增加一个数据项集合
user = ["张三","李四","王五"]
user.extend(["小明","小丽"])
此时,user = ['张三', '李四', '王五', '小明', '小丽']
 
pop():删除列表末尾的数据。
user = ["张三","李四","王五"]
user.pop()
此时,user = ['张三', '李四']
 
remove():移除一个特定的数据。
user = ["张三","李四","王五"]
user.remove("张三")
此时:user = ["李四","王五"]
 
insert():在指定位置前面增加一个数据项。
user = ["张三","李四","王五"]
user.insert(0,"张霖")
此时:user = ['张霖', '张三', '李四', '王五']

(二)列表可以存放混合类型的数据,例如存放用户姓名和出生年份

user = ["张三",189,"李四",188,"王五",187]

(三)列表可以嵌套列表,支持多层嵌套(最多好像是支持100层)

例如:
user = ["张三",189,"李四",188,"王五",187,["张三的年收入",["工资收入","津贴","来源天上"]]]
 
["张三的年收入",["工资收入","津贴","来源天上"]] 整个作为列表user的第6项数据。
访问列表的数据:
       print(user[0])        输出:张三
       print(user[6])        输出:["张三的年收入",["工资收入","津贴","来源天上"]]
       print(user[6][0])     输出:张三的年收入
       print(user[6][1][1])  输出:工资收入

(四)使用for in 迭代处理列表。

user = ["张三","李四","王五",["张三的年收入",["工资收入","津贴","来源天上"]]]
#python的for循环就是用来处理列表和其他迭代结构
#也可以通过while实现,不过for循环比较方便
for ue in user:
    print(ue)
输出:
张三
李四
王五
['张三的年收入', ['工资收入', '津贴', '来源天上']]

(五)第4步中可以发现程序只打印了最外层的列表数据,['张三的年收入', ['工资收入', '津贴', '来源天上']]是作为一个列表输出的,该怎么把内层列表的数据也打印出来呢?

user = ["张三","李四","王五",["张三的年收入",["工资收入","津贴","来源天上"]]]
for ue in user:
        #isinstance()是内置函数,此处用来确定数据类型是不是列表
   
if isinstance(ue,list):
        for u in ue:
            print(u)
    else:
        print(ue)

输出:

张三

李四

王五

张三的年收入

['工资收入', '津贴', '来源天上']

(六)第五步中可以发现,第三层的列表还是以列表的形式打印,该怎么处理?再增加一个if循环?如果还有更多层呢?为了代码更简洁,这时我们可以使用函数来处理。

函数的格式:

def 参数名():
     函数代码组

()括号里的参数可选,可以有一个或多个,也可以不设置参数,但是括号必须有。

通过下面的函数我们就可以处理多层嵌套的列表了。

#创建一个用来处理列表的函数
def print_li(the_list):
    for ue in the_list:
        #判断数据类型是不是列表
       
if isinstance(ue, list):
            print_li(ue)
        else:
            print(ue)
user = ["张三","李四","王五",["张三的年收入",["工资收入","津贴","来源天上"]]]
#调用函数
print_li(user)

输出:

张三

李四

王五

张三的年收入

工资收入

津贴

来源天上

Python笔记(二):列表+列表数据处理+函数的更多相关文章

  1. Python创建二维列表的正确姿势

    Python创建二维列表的正确姿势 简介 Python中没有数组,使用list结构代替,并且list结构的功能更加强大: 支持动态扩容,无需担心元素过量 对list内的元素类型不做一致性约束 提供丰富 ...

  2. ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  3. python基础学习笔记二之列表

    1.列表 ①列表的创建: ②列表的查询(索引): ③列表的切片操作: 此处要注意到:返回索引0到3的元素,顾头不顾尾. ④列表的增加: s.append()  #直接在结尾追加 s.insert()  ...

  4. python 学习笔记二_列表

    python不需要声明类型信息,因为Python的变量标识符没有类型. 在Python中创建一个列表时,解释器会在内存中创建一个类似数组的数据结构类存储数据,数据项自下而上堆放(形成一个堆栈).索引从 ...

  5. Python笔记——基本数据结构:列表、元组及字典

    转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...

  6. python笔记(1)--序列(列表 元组 range)

    一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...

  7. python数据类型二(列表和元组)

    一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...

  8. python构造二维列表以及排序字典

    1. 构造二维列表: 比如我现在需要一个100*100的二维列表: a = [] for i in range(100): a.append([]) for j in range(100): a[i] ...

  9. python保存二维列表到txt文件,读取txt文件里面的数据转化为二维列表

    源码: # 读文件里面的数据转化为二维列表 def Read_list(filename): file1 = open(filename+".txt", "r" ...

  10. python笔记2——关于列表的使用

      一.列表的一些基本用法 names=["XiaoNaiyou", "XiaoNan", "WeiZhen", "WuCheng ...

随机推荐

  1. FTP命令具体解释(含操作实例)

    以下是微软命令行FTPclient命令大全.假设你想使用"未加工(RAW)"FTP命令而非以下翻译过的请參考:http://www.nsftools.com/tips/RawFTP ...

  2. gcc 源代码分析-前端篇3

    3. GCC怎样函表示一个函数   对c语言来说.函数是其核心,全部的东西都在环绕着函数在转.对于一个函数来说.它基本的一些特性例如以下:    1. 有一个返回值,在这里我们没有把返回值的函数觉得它 ...

  3. mysql主从备份及常见问题处理

    1.mysql主从备份基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新 ...

  4. 二、spring Boot构建的Web应用中,基于MySQL数据库的几种数据库连接方式进行介绍

    包括JDBC.JPA.MyBatis.多数据源和事务. 一.JDBC 连接数据库 1.属性配置文件(application.properties) spring.datasource.url=jdbc ...

  5. 自学Zabbix3.5.3-监控项item-key

    1. 温习 Zabbix server是Zabbix软件的中心进程. Server执行polling和trapping来采集数据,评估是否触发触发器,发送报警给用户.它是Zabbix agent和pr ...

  6. Django项目创建02

    Django项目创建(ubuntu环境) 1.    创建项目目录,我是在root下创建了一个workspace文件夹:mkdir workspace  然后cd到该目录下 命令:django-adm ...

  7. 深入分析JavaWeb技术内幕(修订版)》【PDF】下载

    <深入分析JavaWeb技术内幕(修订版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062569 内容简介 <深入分析 ...

  8. free查看内存和swap使用情况,增加、删除、自动挂载swap分区

    free [root@localhost ~]# free total used free shared buff/cache available Mem: 999936 142760 566536 ...

  9. 【二十六】php之文件编程

    1.获取文件的相关信息 fopen.fstat.fclose(打开文件.获取文件相关信息.关闭文件) filesize.filectime.filemtime.fileatime(文件大小.上次cha ...

  10. C:数据结构与算法之顺序表

    顺序表作为数据结构的开端,说明这里面很多基础要学,初学者一开始都会混淆,今天我们来一步一步来建立一个完整的顺序表,可以任我们控制的顺序表,首先先定义一个顺序表 /* Note:Your choice ...