'''
列表
Create By 阅后即焚 On 2018.1.29
'''

1. 列表的定义

列表看起来好像其它编程语言中的数组,但列表具备更加强大的功能,它是Python完备的集合对象,现在,你可以知道列表应该如何定义:

bookname=['《浮生六记》','《城南旧事》','《狂人日记》','《三体》']

在代码中,我定义了一个列表用来存放数据项,现在里面总共有4个数据项,保存着书的名字,就像一个书架一样。

它的存放顺序是这样子的:

第一个是《浮生六记》,它在列表中的位置是0(Python 从0开始计数)

紧接着:1 《城南旧事》  2 《狂人日记》 .......

2.获取列表的长度

在1中我们示例的列表存放的数据项很少,一眼就能知道数据项的数量,假如这个列表有100个数据项呢?

计算机自身也不可能看出来有几个数据项,因此需要计算,Python中集成了len()方法

len(bookname)

我们知道结果等于4,不妨打印一下

print(len(bookname))    # print()是用于输出的方法

>>> 4

3.向列表添加数据项

向列表添加数据项,就像本章中,书架上不止要这四本,我又购买了另外一本

在书架中摆放新的一本书,可以有多种不同的摆法,我可以摆在所有书籍的最前面,或者最后面,也可以摆放在中间

就像这样:

放在开头:《python 从入门到放弃》 《浮生六记》 《城南旧事》 《狂人日记》 《三体》
放在最后:《浮生六记》 《城南旧事》 《狂人日记》 《三体》 《python 从入门到放弃》
放在中间:《浮生六记》 《城南旧事》 《python 从入门到放弃》 《狂人日记》 《三体》

列表也一样,所以向列表中添加数据项 有两种方法

(1)append() 方法:
bookname.append('《python从入门到放弃》')

  默认添加中列表的末尾,添加完之后,列表变为:

《浮生六记》 《城南旧事》 《狂人日记》 《三体》 《python 从入门到放弃》

(2)insert()方法:

bookname.insert(0,'《python 从入门到放弃》')
# 在特定位置前插入一个数据项
# 0 表示在0位置上 也就是列表的开头

bookname.insert(3,'《python 从入门到放弃》')
# 在特定位置前插入一个数据项
# 3 表示在3位置上 也就是列表的开头

ps:在列表中的某个位置插入数据项之后 该数据项后面的数据项就会往后挪一个位置

4 向列表添加多个数据项

  这次不止一次添加一个,我要添加多个

bookname.extend(['《JAVA 程序设计》','《数据挖掘开发实战》','《SQL 基础》'])

extend()方法用来向列表添加多个数据项,它默认往末尾追加,就是append()一样,但appen()一次只能添加一个

该方法中的参数:['《JAVA 程序设计》','《数据挖掘开发实战》','《SQL 基础》']

也是一个列表,你可以看成是两个列表之间的合并,就是把B书架上的书放在A书架上面一样

5 在列表中删除数据项

  有加入必有删除,就像我在书架中拿出一本书一样

  pop()方法:

book1=bookname.pop()

print(book1)

>>> 《SQL 基础》    

'''上面代码的执行过程:1.pop()方法将列表最后一个数据项拿出来,所以列表少了一个数据项2.pop()方法将拿出来的数据项返回 赋值给book13.print()打印输出'''

  ps:因为在4中 我已经在bookname中添加了多个数据项 所以此时最后面一项的《SQL 基础》

    使用pop() 就是将列表末尾的数据项拿出来,此时列表的《SQL 基础》已经不见了 但pop()方法能够返回拿出来的数据项

    在本代码中,我将pop()的返回项赋值给book1 所以打印出来就是 :《SQL 基础》

  '''      ''' : # 只能注释一行 ,而''' '''可以注释多行

在书架中拿出一本书,有时候是拿来看的 所以用pop()方法,因为它即在列表中删除最后一个元素

又将其返回,可以拿来用

但有时候拿出一本书来,直接扔掉,我不需要用它,不需要返回值

就不用用到pop()了,而且pop()一次只能拿出最后的一个数据项,那最前面或中间的数据项呢?

  remove()方法:

bookname.remove('三体')

'''执行过程:1.在列表中查找 ’三体‘2.如果有 就删除之3.如果没有,抛出异常错误:ValueError: list.remove(x): x not in list'''

在remove()中,参数是什么,就会在列表中查找与之匹配的数据项,并删除之

6. 获取列表数据

print(bookname[0])    #打印输出列表位置0中的数据项
print(bookname[1])    #打印输出列表位置1中的数据项
print(bookname[2])    #打印输出列表位置2中的数据项
>>>《浮生六记》 >>>《城南旧事》>>> 《狂人日记》

 ----------------------------------------------------

附:
#   1. 定义一个列表
cast=['Cleese','Palin','Jones','Idle']

#   2. 列表的长度
len(cast)

#   3. 在列表末添加数据项
cast.append('Gillam')

#   4. 在列表末弹出一个数据项 返回被弹出的数据项 并在列表中将该数据项消除
cast.pop()

#   5. 在列表末尾添加一个数据项集合   用于将两个列表合并在一起
cast.extend(['Gillam','Chapman'])

#   6. 找到并输出某一个特定数据项
cast.remove('Gillam')

#   7. 在某个特定位置前添加一个数据项
cast.insert(0,'Gillam')

#   8.打印输出列表
print(cast)
 

[Python 从入门到放弃] 1. 列表的基本操作的更多相关文章

  1. [Python 从入门到放弃] 2. 列表的其它操作

    1. 列表可以混合不同类型的数据项 movies=['<黄飞鸿之英雄有梦>','<寒战2>','<乘风破浪>'] 在这句代码中,数据项为电影名称,现在这个列表用来保 ...

  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. crontab和crond分析

    目录 目录 1 1. 研究目的 1 2. 基本概念 1 3. crontab 1 3.1. 编辑 2 3.1.1. "crontab -e"工作流 2 3.2. 问题 3 4. c ...

  2. JS库汇总[重要]

    库名称  说明 附加说明 URI 一款js 操作URL的插件 功能十分强大.可以增加 .修改.删除.参数   1.Animate.css 2.Hover.css 3.jQuery 4.WebUploa ...

  3. UIActivityIndicatorView 的使用

    // //  UIActivityIndicator.m //  ToolBar // //  Created by lanouhn on 15/1/3. //  Copyright (c) 2015 ...

  4. Linux 下socket通信终极指南(附TCP、UDP完整代码)

    linux下用socket通信,有TCP.UDP两种协议,网上的很多教程把两个混在了一起,或者只讲其中一种.现在我把自己这两天研究的成果汇总下来,写了一个完整的,适合初学者参考,也方便自己以后查阅. ...

  5. web-day15

    第15章WEB15-AJAX和JQuery案例篇 今日任务 使用AJAX完成用户名的异步校验 使用JQuery完成用户名异步校验 使用JQuery完成商品信息模糊显示 使用JQuery完成省市联动效果 ...

  6. 编写Shell脚本

    1.脚本的编写 Shell脚本本身是一个文本文件,这里编写一个简单的程序,在屏幕上显示一行helloworld! 脚本内容如下: #!/bin/bash #显示“Hello world!" ...

  7. java并发编程基础-ReentrantLock及LinkedBlockingQueue源码分析

    ReentrantLock是一个较为常用的锁对象.在上次分析的uil开源项目中也多次被用到,下面谈谈其概念和基本使用. 概念 一个可重入的互斥锁定 Lock,它具有与使用 synchronized 相 ...

  8. hdu 4135 [a,b]中n互质数个数+容斥

    http://acm.hdu.edu.cn/showproblem.php?pid=4135 给定一个数n,求某个区间[a,b]内有多少数与这个数互质. 对于一个给定的区间,我们如果能够求出这个区间内 ...

  9. [ 9.9 ]CF每日一题系列—— 259A黑白棋盘检查问题

    http://codeforces.com/problemset/problem/259/A PS9.8日做了但是忘了发博客,所以坚持3天了呦~ 终于读懂了这个题了,心累 Describe: 给你8 ...

  10. SRM475

    250pt: 题意:有最长N=17的一条格子,每个格子是W.B和R三种颜色之一,当某个格子上有兔子时,下一个回合该兔子按照以下的规则移动: 如果兔子在第一个格子,则向右移动一格: 否则如果兔子在倒数两 ...