Python 学习笔记之列表(List)分析

java哥 阅读:168 2021-03-31 22:39:09 评论:0

一、简介:

(1)列表(list)是Python以及其他语言中最常用到的数据结构之一列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

(2)列表可以进行的操作包括索引,切片,加,乘,检查成员。

(3)Python已经内置确定列表的长度以及确定最大和最小的元素的方法。

(4)列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

(5)列表的数据项不需要具有相同的类型。

二、基本的列表操作

  列表可以使用所有适用于序列的标准操作,例如索引、分片、连接和乘法。本文介绍一些可以改变列表的方法。

        1. list 函数

         通过 list(seq) 函数把一个序列类型转换成一个列表。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> list('hello')  
  2. ['h''e''l''l''o']  
         list 函数使用于所有类型的序列,而不只是字符串。

         2. 改变列表:元素赋值

         使用索引标记来为某个特定的、位置明确的元素赋值。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> x = [111]  
  2. >>> x[1] = 2  
  3. >>> x  
  4. [121]  
         不能为一个位置不存在的元素进行赋值。

         3. 删除元素

         从列表中删除元素也很容易:使用 del 语句来实现。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> names = ['Alice''Beth''Cecil''Dee-Dee''Earl']  
  2. >>> del names[2]  
  3. >>> names  
  4. ['Alice''Beth''Dee-Dee''Earl']  
         除了删除列表中的元素,del 语句还能用于删除其他元素。

         4. 分片赋值

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> name = list('Perl')  
  2. >>> name  
  3. ['P''e''r''l']  
  4. >>> name[2:] = list('ar')  
  5. >>> name  
  6. ['P''e''a''r']  
         在使用分片赋值时,可以使用与原序列不等长的序列将分片替换:
[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> name = list('Perl')  
  2. >>> name[1:] = list('ython')  
  3. >>> name  
  4. ['P''y''t''h''o''n']  
         分片赋值语句可以在不需要替换任何原有元素的情况下插入新的元素。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> numbers = [15]  
  2. >>> numbers[1:1] = [234]  
  3. >>> numbers  
  4. [12345]  
         通过分片赋值来删除元素也是可行的。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> numbers  
  2. [12345]  
  3. >>> numbers[1:4] = []  
  4. >>> numbers  
  5. [15]  
三、列表方法

        方法是一个与某些对象有紧密联系的函数。一般,方法可以这样进行调用:

                对象.方法(参数)

除了对象被放置到方法名之前,并且两者之间用一个点号隔开。

        1. append

        append方法用于在列表末尾追加新的对象:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> lst = [123]  
  2. >>> lst.append(4)  
  3. >>> lst  
  4. [1234]  
         append方法和其他一些方法类似,只是在恰当位置修改原来的列表。这意味着,它不是简单地返回一个修改过的新列表——而是直接修改原来的列表。

         2. count

         count 方法统计某个元素在列表中出现的次数:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> ['to''be''or''not''to''be'].count('to')  
  2. 2  
  3. >>> x = [[1,2], 11, [21, [12]]]  
  4. >>> x.count(1)  
  5. 2  
  6. >>> x.count([1,2])  
  7. 1  
         3. extend

         extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> a = [123]  
  2. >>> b = [456]  
  3. >>> a.extend(b)  
  4. >>> a  
  5. [123456]  
         extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> a = [123]  
  2. >>> b = [456]  
  3. >>> a.extend(b)  
  4. >>> a  
  5. [123456]  
  6. >>>  
  7. >>> a + b  
  8. [123456456]  
  9. >>> a  
  10. [123456]  
         4. index

         index 方法用于从列表中找出某个值第一个匹配项的索引位置:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> knights = ['We''are''the''knights''who''say''ni']  
  2. >>> knights.index('who')  
  3. 4  
         当搜索不存在的值时,就会引发一个异常。

         5. insert

         insert 方法用于将对象插入到列表中:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> numbers = [123567]  
  2. >>> numbers.insert(3'four')  
  3. >>> numbers  
  4. [123'four'567]  
         6. pop

         pop 方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> x = [123]  
  2. >>> x.pop()  
  3. 3  
  4. >>> x  
  5. [12]  
  6. >>> x.pop(0)  
  7. 1  
  8. >>> x  
  9. [2]  
         pop方法是唯一一个即能修改列表又返回元素值(除了None)的列表方法。

         7. remove

         remove 方法用于移除列表中某个值的第一个匹配项:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> x = ['to''be''or''not''to''be']  
  2. >>> x.remove('be')  
  3. >>> x  
  4. ['to''or''not''to''be']  
  5. >>> x.remove('bee')  
  6. Traceback (most recent call last):  
  7.   File "<stdin>", line 1in <module>  
  8. ValueError: list.remove(x): x not in list  
         只有第一次出现的值被移除,而不存在与列表中的值是不会移除的。

         remove 是一个没有返回值的原位置改变方法。它修改了列表却没有返回值。

         8. reverse

         reverse 方法将列表中的元素反向存放。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> x = [123]  
  2. >>> x.reverse()  
  3. >>> x  
  4. [321]  
         该方法改变了列表但不返回值。

         9. sort

         sort 方法用于在原位置对列表进行排序。          

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> x = [462179]  
  2. >>> x.sort()  
  3. >>> x  
  4. [124679]  
         sort 方法修改了 x 却返回了空值。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

一个IT知识分享的公众号