读书笔记——《Python编程从入门到实践》第三章
读书笔记——《Python编程从入门到实践》第三章
这一章介绍了列表的相关知识,包括:什么是列表;如何定义列表;如何使用其中的元素;如何增加、删除、修改列表中的元素;如何给列表永久排序;如何给列表临时排序;如何确定列表的长度。
什么是列表及如何定义列表
列表就是一组元素的组合。元素可以是任何数据,包括字符串、数字等。 在Python中,用方括号([])表示列表,并用逗号分隔其中的元素。如下所示:
books = ["a.围城", "b.配色设计原理", "c.Spring源码解析"]
这里定义了一个列表,名字叫做books,可以看到这个列表有三个元素,每个元素都是一个字符串。
如何使用列表中的元素
在Python中要使用列表中的元素,先指定列表名称,再将准备访问的元素的索引放在方括号紧跟在列表名称后面。如下所示:
books = ["a.围城", "b.配色设计原理", "c.Spring源码解析"]
print(books[0])
要注意的是,正如我们上个例子所示,列表中元素的索引是从0开始的,即第一个元素的索引是0,第二个元素的索引是1,以此类推。 Python为访问列表还提供了另一种特殊语法,可以通过索引-1 来访问最后一个元素,索引-2 来访问倒数第二个元素,以此类推。 当访问列表时,若指定的索引不存在元素,Python会抛出索引错误。
如何增加、删除、修改列表中的元素
列表中的元素是动态的,也就是可以新增、修改和删除的。
新增元素
在列表中新增元素,可以用两种方法append 和insert 。 append 方法在列表的最后追加元素。如下所示:
books = ["围城", "配色设计原理", "Spring源码解析"]
print(books)
books.append("山海经")
print(books)
insert 方法可以在指定的索引位置新增元素,在指定索引之后的元素,将都往右移动一位。
books = ["围城", "配色设计原理", "Spring源码解析"]
print(books)
print(books[0])
books.insert(0, "小时候真傻,竟然盼着长大")
print(books)
修改元素
列表中某个索引的元素不是一成不变的,是可以进行改变的。要修改列表的元素的指,要指定列表名和要修改的元素的索引,以及这个元素的新值。如下所示:
books = ["围城", "配色设计原理", "Spring源码解析"]
print(books)
books[1] = "腹黑学"
print(books)
删除元素
删除列表中的元素有三种办法,分别是del 、pop 方法和remove 方法。
-
del方式删除元素,删除的元素将不可以再访问 books = ["围城", "配色设计原理", "Spring源码解析"]
del books[1]
print(books)
-
pop方法弹出元素,如下所示,pop方法弹出的元素是可以再使用的。 books = ["围城", "配色设计原理", "Spring源码解析"]
book = books.pop(1)
print(books)
print(book)
-
remove方法移除元素,remove方法支持传入待删除的值进行删除元素,注意remove方法没有返回值。如下所示: books = ["围城", "配色设计原理", "Spring源码解析"]
books.remove("配色设计原理")
print(books)
如何给列表永久排序
给列表进行排序就是对列表中的元素重新排列次序。永久排序意味着排序是在当前列表中进行的,排序之后,列表中的元素的位置就发生了改变。示例如下所示:
books = ["a.围城", "b.配色设计原理", "c.Spring源码解析"]
books.sort()
print(books)
默认情况下,sort方法是按照字母顺序进行升序排序的,也可以传入reverse=True 进行倒序排序。
books = ["a.围城", "b.配色设计原理", "c.Spring源码解析"]
books.sort(reverse=True)
print(books)
如何给列表临时排序
所谓的临时排序就是调用方法对列表排序后会返回一个排序后的列表,但是原列表的排序不会变化。同样,也可以传递reverse=True 进行倒序排序。
books = ["a.围城", "b.配色设计原理", "c.Spring源码解析"]
print(sorted(books))
print(books)
print(sorted(books,reverse=True))
print(books)
如何确定列表的长度
可以通过len方法来查询列表的长度,如下所示:
books = ["a.围城", "b.配色设计原理", "c.Spring源码解析"]
print(len(books))
|