21201736-仲昭骏_2021/9/20_学习笔记

Python 列表简介

学习资源:图书《Python编程——从入门到实践》第三章 

3.1列表

1.在Python中,用方括号([ ])表示列表,并用逗号分隔其中的元素。如果让Python将列表打印出来,Python将打印列表的内部表示,包括方括号

2.列表是有序集合,因此要访问列表的任意元素,只需将该元素的位置(索引)告诉Python即可。当你请求获取列表元素时,Python只返回该元素,而不包括方括号。

3.索引从0开始而不是1开始。Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1。

4.你可以用使用其他变量一样使用列表中的各个值。例如,可以使用 f 字符串根据列表中的值来创建消息。

 

 

3-1

 

 

3-2

tips:变量后为等号而非冒号

3-2

 

 

3.2 修改、添加和删除元素

1.修改:

motorcycles = ['honda','yamaha','suzuki']

print(motorcycles)

motorcycles[0] = 'ducati'

print(motorcycles) 

2.添加:

append( )将元素添加到列表末尾

insert( )可在列表的任何位置添加新元素(需指定新元素的索引和值)

3.删除:

del语句

使用del可删除任意位置处的列表元素,条件是知道其索引

 

 

tip:‘del空格'而非‘del()’

方法pop( )

删除列表末尾的元素,术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

(原先列表末尾的元素弹出,作为一个新变量(而非新列表)的值)

 

 

实际上,可以使用pop()来删除列表中任意位置的元素,只需在圆括号中指定要删除元素的索引即可。

 

Tips:如果你要从列表中删除一个元素,且不再以任何方式使用它,就用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。

 

 

③根据值删除元素

有时候,你不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值,可使用方法remove( )。

当要删除的元素被赋给变量,使用remove(变量)从列表中删除时,可通过变量接着使用它的值)

 

 

 tips:1.将要删除的值赋给变量,remove后括号内便无需引号

      2.方法 remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除。

      3.del语句、方法pop()、方法remove()皆为永久性删除,不像方法rstrip()那样是暂时性质的。

3-4

 

3-5

 

 

3-6

 

 

3-7

3.3组织列表

 

1.方法sort()能将列表按字母顺序永久排序,如果要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数 reverse=True

 

2.函数sorted()能将列表按字母顺序临时排序,如果要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数 reverse=True

tips:在并非所有的值都是小写时,按字母顺序排列列表要复杂些。决定排列顺序时,有多种解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要复杂。然而,大多数排泄顺序方式是以本节介绍的知识为基础的。

3.方法reverse()可永久性地反转列表元素的排列顺序,如需恢复到原来的排列顺序,只需对列表再次调用reverse()即可。

4.函数len()可快速获悉列表的长度。Python计算列表元素数时从1开始,因此确定列表长度时,你应该不会遇到差1错误。

 

 

3-8

 

 

 

tip:方法sort()需单独使用 

 

 

 

3-9

 

 

3-10

 

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

1.索引错误意味着Python在指定索引处找不到元素。程序发生索引错误时,请尝试着将指定的索引减1,然后再次运行程序,看看结果是否正确

2.发生索引错误却找不到解决办法时,请尝试着将列表或其长度打印出来。列表可能与你以为的截然不同,在程序对其进行了动态处理时尤其如此。通过查看列表或其包含的元素数,可帮助你找出这种逻辑错误。

 

 

 

 

Tips:从上面两个程序看,如果索引出现了一次错误,那么之后的索引即使对了也不能正常运行 

下一章:循环

2021/9/20/20:42

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

posted @ 2021-09-20 16:54  Inmata  阅读(37)  评论(0)    收藏  举报