美文网首页
面向小白的Python教程:基础篇(一)列表

面向小白的Python教程:基础篇(一)列表

作者: 厉害的山药 | 来源:发表于2020-09-23 22:12 被阅读0次

    在入门篇中我们介绍过列表,本节中我们对列表进行复习并进行更多的介绍。

    创建列表

    创建空列表有两种方式,如下所示:

    >>> name1 = list() # 创建空列表的方法1
    >>> name2 = [] # 创建空列表的方法2
    

    如果想创建带值的列表可以直接按照如下的方式创建:

    >>> names = ['mike', 'ben', 'jack', 'lucy']
    >>> info = ['abc', 123, 24.5]
    

    判断值是否在列表中

    我们可以通过in和not in来判断某个值是否在/不在列表中,如下所示:

    >>> names = ['mike', 'ben', 'jack', 'lucy']
    >>> 'mike' in names
    True
    >>> 'abc' in names
    False
    >>> 'abc' not in names
    True
    >>> 'ben' not in names
    False
    

    获取列表中的值

    我们可以通过下标获取列表中对应位置的值,也可以通过切片获取列表中的一段的值。

    >>> names = ['mike', 'ben', 'jack', 'lucy', 'lily']
    >>> names[1] # 通过下标获取列表中的值
    'ben'
    >>> names[1:3] # 通过切片获取列表中一段值
    ['ben', 'jack']
    >>> names[:2] # 切片不指定起始位置则从第一个元素开始
    ['mike', 'ben']
    >>> names[2:] # 切片不指定终止位置则直到最后一个元素 
    ['jack', 'lucy', 'lily']
    

    查找列表中的值

    有时我们想要查找某个值在列表中的位置,此时我们可以通过index()方法来实现。如果列表中存在这个值,那么就会返回下标。如果列表中没有这个值,那么就会报错ValueError。

    >>> names = ['mike', 'ben', 'jack', 'lucy', 'lily']
    >>> names.index('jack') # 查找'jack'的下标
    2
    >>> names.index('bob') # 查找'bob'的下标,由于'bob'不存在,会报错Value Error
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: 'bob' is not in list
    

    向列表中添加值

    向列表中添加值有两个方法,一个是通过append()方法向列表末尾添加值,另一种方法是通过insert()方法向列表中的指定位置添加值。

    >>> names = ['mike', 'ben']
    >>> names.append('jack') # 向列表末尾追加一个值
    >>> names
    ['mike', 'ben', 'jack']
    >>> names.insert(1, 'lucy') # 向列表下标为1的位置添加'lucy'
    >>> names
    ['mike', 'lucy', 'ben', 'jack']
    

    删除列表中的值

    如果想要删除列表中某下标对应的值则可以通过del删除。如果想删除列表中的某个值则可以通过remove()方法删除,如果列表中不存在这个值就会报错Value Error。

    >>> names = ['mike', 'ben', 'jack', 'lucy', 'lily']
    >>> del names[1] # 删除下标为1的值
    ['mike', 'jack', 'lucy', 'lily']
    >>> names.remove('lucy') # 删除值'lucy'
    >>> names
    ['mike', 'jack', 'lily']
    >>> names.remove('bob') # 删除值'bob',由于'bob'不存在,会报错Value Error
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: list.remove(x): x not in list
    

    修改列表中的值

    可以通过下标改变列表中的值。

    >>> names = ['mike', 'ben', 'jack', 'lucy', 'lily']
    >>> names[1] = 'bob' # 将列表中下标为1的值改为'bob'
    >>> names
    ['mike', 'bob', 'jack', 'lucy', 'lily']
    >>> names[-1] = 'archie' # 将列表中倒数第一个值改为'archie'
    >>> names
    ['mike', 'bob', 'jack', 'lucy', 'archie']
    

    列表排序

    对于数值的列表或者字符串的列表可以通过sort()方法进行排序。

    >>> names = ['mike', 'ben', 'jack', 'lucy', 'lily']
    >>> names.sort()
    >>> names
    ['ben', 'jack', 'lily', 'lucy', 'mike']
    >>> score = [76, 98, 45, 81]
    >>> score
    [45, 76, 81, 98]
    

    sort()方法默认是升序排列,如果想按照降序排列则可以通过指定参数reverse=True来实现。

    >>> names = ['mike', 'ben', 'jack', 'lucy', 'lily']
    >>> names.sort(reverse=True)
    >>> names
    ['mike', 'lucy', 'lily', 'jack', 'ben']
    >>> score = [76, 98, 45, 81]
    >>> score
    [98, 81, 76, 45]
    

    sort()方法对字符串进行排序的时候是根据ASCII码字符顺序,因此大写字母会排在小写字母之前。

    >>> names = ['cat', 'ab', 'Bob', 'dog', 'Car', 'Alice']
    >>> names.sort()
    >>> names
    ['Alice', 'Bob', 'Car', 'ab', 'dog', 'cat']
    

    获取列表长度

    通过len()函数可以获得列表的长度。

    >>> names = ['mike', 'ben', 'jack', 'lucy', 'lily']
    >>> len(names)
    5
    

    列表连接和重复

    通过"+"可以把两个列表拼接起来。

    >>> [123, 456] + ['abc', 'def']
    [123, 456, 'abc', 'def']
    >>> names = ['mike', 'ben'] + ['jack', 'lucy', 'lily']
    >>> names
    ['mike', 'ben', 'jack', 'lucy', 'lily']
    

    通过"*"可以把列表重复多次。

    >>> [123, 456]*3
    [123, 456, 123, 456, 123, 456]
    >>> names = ['mike', 'ben']*2
    >>> names
    ['mike', 'ben', 'mike', 'ben']
    

    列表遍历

    有两种遍历列表的方法,一种方法是通过下标依次遍历列表中的每个值,另一种方法则是直接依次遍历列表中的每个值。

    >>> names = ['mike', 'ben', 'jack', 'lucy', 'lily']
    >>> for i in range(len(names)): # 通过下标遍历列表中的每个值
    ...     print(names[i])
    ...
    mike
    ben
    jack
    lucy
    lily
    >>> for name in names: # 直接遍历列表中的每个值
    ...     print(name)
    ...
    mike
    ben
    jack
    lucy
    lily
    

    相关文章

      网友评论

          本文标题:面向小白的Python教程:基础篇(一)列表

          本文链接:https://www.haomeiwen.com/subject/kurayktx.html