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

#适合初学者。

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

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. Comparable和Comparator的差别

    原文地址:http://leihuang.org/2014/11/16/Comparable-Vs-Comparator/ Comparable和Comparator都是用来实现集合中元素的比較.排序 ...

  2. Ant 给project打包

    写了一段主要的war打包.编译文件复制的 ant 配置文件 xml <?xml version="1.0" encoding="utf-8"? > ...

  3. 关于React组件之间如何优雅地传值的探讨

    闲话不多说,开篇撸代码,你可以会看到类似如下的结构: import React, { Component } from 'react'; // 父组件 class Parent extends Com ...

  4. Python笔记·第七章—— IO(文件)处理

    一.文件处理简介 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知 ...

  5. 自学WPF之XAML(一)概念

    此笔记仅为学习过程中的一些总结,若有不妥之处,请指出,以便更正.下面直接进入正题. XAML:是一种设计UI的标签语言,是XML的派生语言,所以很多XML中的概念语法在XAML中均适用.在XAML标签 ...

  6. lock锁速记

    1.Lock关键字主要实现锁互斥,确保一个线程A在请求此操作时不会被其线程B请求中断(假设A先请求并在没有未完成的操作情况下申请了此互斥锁).lock的参数必须是基于引用类型的对象,不要是基本类型像b ...

  7. solr6.5搭建以及使用经验

    首先搭建环境为Linux 6.5 64位  jdk1.7 将webapp目录复制到tomcat下的webapps目录下 可以修改文件夹名为solr(这个自己随意定义,项目名而已) 在tomcat目录下 ...

  8. 项目(1)----用户信息管理系统(5)---(剩余jsp界面)

    完成剩余jsp界面 首页界面前面我写了,接下来还有就是一个显示所有用户界面 1:注册界面 2:显示所有用户信息界面 1:注册界面 <%@ page language="java&quo ...

  9. 小白的Python之路 day2 字符编码和转码

    字符编码和转码 详细文章: http://www.cnblogs.com/yuanchenqi/articles/5956943.html http://www.diveintopython3.net ...

  10. 【CSS3】动画animation-关键帧keyframes

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...