美文网首页
Python学习笔记2—列表

Python学习笔记2—列表

作者: 肉松饼饼 | 来源:发表于2017-12-15 15:57 被阅读0次

    一、列表是什么

    • 列表是一系列按特定顺序排列的元素组成的,可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表制定一个表示复数的名称(如names)是个不错的主意。
    • 用方括号[ ] 表示列表,并用逗号来分隔其中的元素。
    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    
    • 访问列表(根据索引)
    bicycles = ['trek','cannondale','redline']
    print(bicycles[0])
    

    索引是从0开始的,-1返回最后一个列表元素,-2返回倒数第二个列表元素以此类推(通常可用在不知道列表长度的情况下访问最后的元素)。

    二、修改、添加和删除元素

    1、修改列表元素

    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #修改元素值
    bicycles[0] = 'handa'
    print(bicycles)
    

    2、添加元素

    • 在列表末尾添加元素 append(value)
    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #末尾添加元素
    bicycles.append('handa')
    print(bicycles)
    

    方法append()让动态地创建列表易如反掌,可以先创建一个空列表,再使用一系列的append()语句添加元素。

    • 在列表中插入元素 insert(index,value)
    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #在开头添加元素
    bicycles.insert( 0 ,'handa')
    print(bicycles)
    

    3、从列表中删除元素

    • 使用del语句删除元素
    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #删除开头元素
    del bicycles[0]
    print(bicycles)
    

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

    • 使用pop(index)删除元素
    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #删除末尾元素,保存被删除的值
    popped_bicycle = bicycles.pop()
    print(bicycles)
    print(popped_bicycle)
    

    注:index省略时表示删除末尾

    • 弹出列表中任何位置处的元素
      如果要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果要在删除元素后还能继续使用它,就使用pop()。
    • 根据值删除元素 remove(value)
    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #删除特定值
    bicycles.remove('redline')
    print(bicycles)
    

    使用remove( )从列表中删除元素时,也可以接着使用它的值,用变量储存起来。但是,方法remove( )只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

    三、组织列表

    1、使用sort()对列表进行永久性排序

    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #排序
    bicycles.sort()
    print(bicycles)
    

    上述是根据字母顺序排序,也可以按照字母顺序相反的顺序排序。

    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #排序
    bicycles.sort( reverse = True)
    print(bicycles)
    

    2、使用sorted()对列表进行临时排序

    bicycles = ['trek','cannondale','redline']
    print("Here is the original list:")
    print(bicycles)
    
    #排序
    print("\nHere is the sorted list:")
    print(sorted(bicycles))
    
    print("\nHere is the original list again:")
    print(bicycles)
    

    若要按字母顺序相反排序,向函数sorted()传递参数reverse = True即可。

    3、倒着打印列表

    bicycles = ['trek','cannondale','redline']
    print(bicycles)
    #倒序
    bicycles.reverse()
    print(bicycles)
    

    方法reverse()永久性地修改列表元素的排序顺序,但可随时恢复到原来的排列顺序,对列表在调用一次reverse()即可。

    4、确定列表的长度 len(list)

    bicycles = ['trek','cannondale','redline']
    print(len(bicycles))
    

    四、使用列表时避免索引错误

    IndexError:list index out of range
    使用列表发生索引错误时,可尝试将列表或其长度打印出来。

    五、遍历整个列表

    names = ['Tom','Alice','Nancy']
    for name in names:
        print(name)
    

    注:

    • for循环中的临时变量可以选取任何变量,一般取为列表的单数形式。
    • 处理好for循环中的缩进问题。循环执行的要缩进,循环结束后执行的一次性操作不缩进。
    • 小心不要遗漏了冒号 :

    六、创建数值列表

    1、使用函数range()

    for value in range( 1 , 4 ):
        print(value)
    

    函数range ()从指定的第一个开始数,并在到达指定的第二个值后停止,因此输出不会包含第二个值。
    注:使用range()时,如果输出不符合预期,请尝试将指定的值加1 或者减1。

    2、使用range() 创建数字列表

    numbers = list(range(start,step,end))
    print(numbers)
    

    注:步长step可以省略,默认为1。

    3、对数字列表执行简单的统计计算

    digits = [1,2,3,4,5,6,7,8]
    print( min(digits) )
    print( max(digits) )
    print( sum(digits) )
    

    4、列表解析

    列表解析就是讲for循环和创建新元素的代码合并成一行,并自动附加新元素。

    squares = [ ]
    for value in range(1,11):
        square =value**2
        squares.append(square)
    print(squares)
    
    #列表解析
    squares = [value**2 for value in range(1,11)]
    print(squares)
    

    七、使用列表的一部分

    1、切片

    names = ['Tom','Alice','Nancy']
    print(names[0:3])
    

    注:

    • 切片和range()一样,在到达指定的第二个索引前面的元素就停止了。
    • 没有指定第一个索引,Python将自动从列表开头开始。
    • 没有指定第二个索引,Python将自动到列表末尾结束。
    • 要输出最后几个,可采用负数,eg:names[-2:]从倒数第二个一直截取到开头。

    2、遍历切片

    如果要遍历列表的部分元素,可在for循环中使用切片。

    names = ['Tom','Alice','Nancy']
    for name in names[0:2]:
        print(name)
    

    3、复制列表

    names = ['Tom','Alice','Nancy']
    another_names = names[:]
    print(another_names)
    

    八、元组

    列表适合用于存储在程序运行期间可能变化的数据集,是可以修改的。元组是不可变的列表。看起来犹如列表,但使用圆括号而不是方括号来标识。使用方法和列表一样。
    虽然不能修改元组的元素,但可以给存储元组的变量赋值(重新定义整个元组)。

    dimensions = (200,100)
    print("Original dimensions:")
    for dimension in dimensions:
        print(dimension)
    
    #修改元组变量
    dimensions = (400,50)
    print("\nModified dimensions:")
    for dimension in dimensions:
        print(dimension)
    

    相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。

    相关文章

      网友评论

          本文标题:Python学习笔记2—列表

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