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

#适合初学者。

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

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. 【打CF,学算法——三星级】Codeforces Round #313 (Div. 2) C. Gerald&#39;s Hexagon

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/C 题面: C. Gerald's Hexagon time limit per tes ...

  2. Creational模式之Builder模式

    1.意图 将一个复杂对象的构建与它表示分离,使得相同的构建过程能够创建不同的表示. 查看很多其它请点击 2.别名 无 3.动机 一个RTF(Rich Text Format)文档交换格式的阅读器应能将 ...

  3. ajax接受json响应(讲义)

    l 什么是json? l Json和xml比较 l Ajax如何使用JSON l Ajax接收json响应案例 什么是json? JSON (JavaScript Object Notation) 是 ...

  4. 前端笔记——如何控制表单控件中的disabled

    0.前言     本文主要说明如何使能或禁止表单控件.表单控件具有disabled属性,通过设置该属性可以禁止所有的input控件,input的更多属性请参考资料[1].下面就通过一个简单的例子说明如 ...

  5. Office Add-in 设计规范与最佳实践

    作者:陈希章 发表于 2017年8月6日 引子 离上一篇Office Add-in的文章已经过去了一段时间,期间有去年Office 365 Asia Devday & Hackathon的二等 ...

  6. 大数据学习(6)MapReduce应用

    倒排索引 /** * * * <pre> *file1.txt: *hello ketty *hello tomcat * *file2.txt: *hello hadoop * *map ...

  7. web前端开发 --好多视频大集合--文化的传播者-杜恩德

    提醒: 如果需要的话,尽快保存,说不定哪天分享就消失了呢. 1.妙味WEB前端开发全套视频教程 链接: http://pan.baidu.com/s/1bf1Ow2 密码: 2yyu 2.极客学院前端 ...

  8. 微信小程序路过

    应该算是入门篇, 从我怎么0基础然后沿着什么方向走,遇到的什么坑,如何方向解决,不过本人接触不是很多,所以也就了解有限. 小程序的前提: 1.小程序大小不允许超过2M.(也就是本地图片,大图精图不要在 ...

  9. python学习日记:day11-----装饰器

    1,time模块 import time print(time.sleep())#让程序在执行到这个位置到时候停一会 print('哈哈哈') 获取当前时间 import time time.time ...

  10. bzoj 1570: [JSOI2008]Blue Mary的旅行

    Description 在一段时间之后,网络公司终于有了一定的知名度,也开始收到一些订单,其中最大的一宗来自B市.Blue Mary决定亲自去签下这份订单.为了节省旅行经费,他的某个金融顾问建议只购买 ...