3.1 列表是什么

  列表 由一系列按特定顺序排列的元素组成。

  在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。

3.1.1 访问列表元素

  指出列表的名称,再指出元素的索引

  3.1.2 索引从0而不是1开始

  Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-X ,可让Python从后面返回第X个列表元素:

  3.1.3 使用列表中的各个值

  可像使用其他变量一样使用列表中的各个值。例如,你可以使用拼接根据列表中的值来创建消息。

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[2].title())
print(bicycles[-2].title())
message = "My first bicycle was a " + bicycles[0].title() + "."
print(message)

结果

Redline
Redline
My first bicycle was a Trek.

3.2 修改、添加和删除元素

  3.2.1 修改列表元素

  要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。

  3.2.2 在列表中添加元素

  1. 在列表末尾添加元素  方法append() 将元素添加到了列表末尾

  2. 在列表中插入元素     方法insert() 可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。

  3.2.3 从列表中删除元素

  1. 使用del 语句删除元素  如果知道要删除的元素在列表中的位置,可使用del 语句。 del list[x]

  2. 使用方法pop() 删除元素 方法pop() 可删除列表末尾的元素,并返回删除元素的值

  3. 弹出列表中任何位置处的元素  你可以使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

  4. 根据值删除元素    只知道要删除的元素的值,可使用方法remove() .方法remove() 只删除第一个指定的值。

              如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

 testList = ['aaa', 'bbb', 'ccc']
print(testList[-1])
print(testList)
testList[0] = 'ddd'
print(testList)
testList.append('eee')
testList.append('eee')
testList.append('eee')
print(testList)
testList.insert(0,'aaa')
print(testList)
del testList[1]
print(testList)
testList.pop()
print(testList)
testList.pop(-3)
print(testList)
testList.remove('eee')
print(testList)
ccc
['aaa', 'bbb', 'ccc']
['ddd', 'bbb', 'ccc']
['ddd', 'bbb', 'ccc', 'eee', 'eee', 'eee']
['aaa', 'ddd', 'bbb', 'ccc', 'eee', 'eee', 'eee']
['aaa', 'bbb', 'ccc', 'eee', 'eee', 'eee']
['aaa', 'bbb', 'ccc', 'eee', 'eee']
['aaa', 'bbb', 'eee', 'eee']
['aaa', 'bbb', 'eee']  

3.3 组织列表

 3.3.1 对列表进行永久性排序 使用方法sort()

 3.3.2 对列表进行临时排序     使用函数sorted()

 3.3.3 倒着打印列表          可使用方法reverse() 反转列表元素的排列顺序

 3.3.4 确定列表的长度    使用函数len()

 testList = ['bbb', 'ddd','aaa','ccc']
print(sorted(testList))
print(testList)
testList.reverse()
print(testList)
testList.sort()
print(testList)
testList.reverse()
print(testList)
print(len(testList))

结果

['aaa', 'bbb', 'ccc', 'ddd']
['bbb', 'ddd', 'aaa', 'ccc']
['ccc', 'aaa', 'ddd', 'bbb']
['aaa', 'bbb', 'ccc', 'ddd']
['ddd', 'ccc', 'bbb', 'aaa']
4

3.4 使用列表时避免索引错误

  刚开始使用列表时,经常会遇到一种错误。IndexError: list index out of range

  假设你有一个包含三个元素的列表,却要求获取第四个元素

读书笔记「Python编程:从入门到实践」_3.列表简介的更多相关文章

  1. 读书笔记「Python编程:从入门到实践」_9.类

    9.1 创建和使用类 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想. OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把 ...

  2. 读书笔记「Python编程:从入门到实践」_11.测试函数

    11.1 测试函数 要学习测试,得有要测试的代码.下面是一个简单的函数,它接受名和姓并返回整洁的姓名: def get_formatted_name(first, last): "" ...

  3. 读书笔记「Python编程:从入门到实践」_10.文件和异常

    10.1 从文件中读取数据  10.1.1 读取整个文件 with open(~) as object: contents=object.read() with open('C:/Users/jou/ ...

  4. 读书笔记「Python编程:从入门到实践」_8.函数

    8.1 定义函数 def greet_user(): # def 来告诉Python你要定义一个函数.这是函数定义 """Hello World""& ...

  5. 读书笔记「Python编程:从入门到实践」_7.用户输入和while循环

    7.1 函数input()的工作原理 函数input() 让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. message = input(&qu ...

  6. 读书笔记「Python编程:从入门到实践」_6.字典

    6.1 一个简单的字典 alien_0 = {'color': 'green', 'points': 5} print(alien_0['color']) print(alien_0['points' ...

  7. 读书笔记「Python编程:从入门到实践」_5.if语句

    5.1 一个简单示例 cars = ['audi', 'bmw', 'subaru', 'toyota'] for car in cars: if car == 'bmw': print(car.up ...

  8. 读书笔记「Python编程:从入门到实践」_4.操作列表

    4.1 遍历整个列表   4.1.1 深入地研究循环   4.1.2 在for循环中执行更多的操作   4.1.3 在for循环结束后执行一些操作  例 magicians = ['alice', ' ...

  9. 读书笔记「Python编程:从入门到实践」_2.变量和简单数据类型

    做了大半年RPA了,用的工具是Kapow. 工作没有那么忙,不想就这么荒废着,想学点什么.就Python吧. 为期三个月,希望能坚持下来. 2.1 变量的命名和使用 变量名只能包含字母.数字和下划线. ...

随机推荐

  1. [CodeForces]908D New Year and Arbitrary Arrangement

    设状态f[i][j]表示有i个a,j个ab的期望 发现如果i+j>=k的话就再来一个b就行了. #include <iostream> #include <cstdio> ...

  2. 43.mapping的理解

    主要知识点: mapping的理解     (1)往es里面直接插入数据,es会自动建立索引,同时建立type以及对应的mapping (2)mapping中就自动定义了每个field的数据类型. ( ...

  3. Python之scrapy linkextractors使用错误

    1.环境及版本 python3.7.1+scrapy1.5.1 2.问题及错误代码详情 优先贴上问题代码,如下: import scrapy from scrapy.linkextractors im ...

  4. Asp.Net使用Yahoo.Yui.Compressor.dll压缩Js|Css

    网上压缩css和js工具很多,但在我们的系统中总有特殊的地方.也许你会觉得用第三方的压缩工具很麻烦.我就遇到了这样问题,我不想在本地压缩,只想更新到服务器上去压缩,服务器压缩也不用备份之类的操作.于是 ...

  5. Something about 博弈(POJ 3922 A simple stone game)

    先是题目,本来是第三次训练的题,在这特别提出来讲. 先是题目: E - A simple stone game Time Limit:1000MS     Memory Limit:65536KB   ...

  6. qsort快速排序

    C库函数qsort七种使用方法示例 七种qsort排序方法<本文中排序都是采用的从小到大排序> 一.对int类型数组排序C++ / C 代码 int num[100]; Sample: i ...

  7. Java 代理学习笔记

    http://blog.csdn.net/mr_seaturtle_/article/details/52686516

  8. 这篇文章关于两阶段提交和Paxos讲的很好

    http://blog.chinaunix.net/uid-16723279-id-3803058.html <两阶段提交协议与paxos投票算法> 点评:2PC绝对是CP的死党,是分布式 ...

  9. java 源代码的魅力

    学习一种语言: 最快的方法.就是研究其源码. 从源码中可以体会到各种经典的思想! 赞赏一下: 比如: 我们在写一些 冒泡和选择排序的时候用的 交换:     /**      * Swaps x[a] ...

  10. Python去除多余空格

    今天做爬虫时.发现结果中好多多余的空格.然后有强迫症的我当然不会放过 " xyz ".strip() # returns "xyz" " xyz &q ...