读书笔记「Python编程:从入门到实践」_3.列表简介
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.列表简介的更多相关文章
- 读书笔记「Python编程:从入门到实践」_9.类
9.1 创建和使用类 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想. OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把 ...
- 读书笔记「Python编程:从入门到实践」_11.测试函数
11.1 测试函数 要学习测试,得有要测试的代码.下面是一个简单的函数,它接受名和姓并返回整洁的姓名: def get_formatted_name(first, last): "" ...
- 读书笔记「Python编程:从入门到实践」_10.文件和异常
10.1 从文件中读取数据 10.1.1 读取整个文件 with open(~) as object: contents=object.read() with open('C:/Users/jou/ ...
- 读书笔记「Python编程:从入门到实践」_8.函数
8.1 定义函数 def greet_user(): # def 来告诉Python你要定义一个函数.这是函数定义 """Hello World""& ...
- 读书笔记「Python编程:从入门到实践」_7.用户输入和while循环
7.1 函数input()的工作原理 函数input() 让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. message = input(&qu ...
- 读书笔记「Python编程:从入门到实践」_6.字典
6.1 一个简单的字典 alien_0 = {'color': 'green', 'points': 5} print(alien_0['color']) print(alien_0['points' ...
- 读书笔记「Python编程:从入门到实践」_5.if语句
5.1 一个简单示例 cars = ['audi', 'bmw', 'subaru', 'toyota'] for car in cars: if car == 'bmw': print(car.up ...
- 读书笔记「Python编程:从入门到实践」_4.操作列表
4.1 遍历整个列表 4.1.1 深入地研究循环 4.1.2 在for循环中执行更多的操作 4.1.3 在for循环结束后执行一些操作 例 magicians = ['alice', ' ...
- 读书笔记「Python编程:从入门到实践」_2.变量和简单数据类型
做了大半年RPA了,用的工具是Kapow. 工作没有那么忙,不想就这么荒废着,想学点什么.就Python吧. 为期三个月,希望能坚持下来. 2.1 变量的命名和使用 变量名只能包含字母.数字和下划线. ...
随机推荐
- 【CF1173D】NanuuAndCircle
题目链接:http://codeforces.com/contest/1173/problem/D 赛场上弱爆了的小菜鸡(本人),怎么也没想到这道看起来近似于神仙计数/生成函数的题正解竟然如此简洁. ...
- java链接linux服务器,命令操作
1.本地读取linux文件,即在Windows上链接外部linux package com.common.utils; import java.io.BufferedReader; import ja ...
- firebird的日期型字段
fb一大特色,日期型字段.dialect3时,对date time datetime是分的很清楚的.它们之间,你必须手把格式设定好,否则会报错.而不是你想象的会自动化:表xxx的date字段yyy,i ...
- Eclipse没有Run On Server的问题解决
1.[项目]->[右击]->[Properties]->[Project Facets]->[Modify Project],选择[Java]和[Dynamic Web Mod ...
- [Cypress] Load Data from Test Fixtures in Cypress
When creating integration tests with Cypress, we’ll often want to stub network requests that respond ...
- 恩布企业IM PC端,服务端公布 1.16 版本号
恩布企业IM PC端,服务端公布1.16版本号,开源企业IM.免费企业即时通讯软件:主要版本号更新内容: 恩布服务端核心程序,添加进程守护保护机制,确保系统7*24持续稳定服务: 服务端添加内存数据库 ...
- javascript基础篇--function类型(上)
在js中,function类型实际上是对象,每一个函数都是function类型的一个实例.并且与其它引用类型一样具有属性和方法. 声明 1普通方式 Function sum(num1,num2) { ...
- Linux正則表達式-定位元字符
有两个元字符用于指定字符串出如今行首或行末.脱字符(^)是指示開始的单字符正則表達式.美元符号($)是指示行结尾的单字符的正則表達式.这些通常称为"定位符",由于它们将匹配限定在特 ...
- (hdu step 7.1.7)Wall(求凸包的周长——求将全部点围起来的最小凸多边形的周长)
题目: Wall Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- 0x5C 数位统计DP
怎么说,数位DP还是我的噩梦啊,细节太恐怖了. 但是这章感觉又和之前的学的数位DP有差异?(应该是用DP预处理降低时间复杂度,好劲啊,不过以前都是记忆化搜索的应该不会差多少) poj3208 f[i] ...