• python随笔2(列表的增删改查)


    2.1列表

    列表由一系列按特定顺序排列的元素组成。在python中,用 [] 来表示列表,并用逗号分隔其中的元素。下面是一个简单的列表示例:

    items = ['a','b','b','d']
    print(items)

    如果你让python将列表打印出来,python将打印列表的内部表示,包括方括号:

    ['a','b','c','d']

    访问列表元素,由于列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉python即可。

    items = ['a','b','c','d']
    print(items[0])
    
    >>>a

    索引从0开始而不是1开始,python为访问最后一个元素提供了一个特殊的语法。将索引指定为-1,可让python返回最后一个列表元素。

    items = ['a','b','c','d']
    print(items[-1])
    
    >>>d

    可以用在你不知道列表长度的情况下访问最后的元素。这种约定也适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素…

    2.2修改,添加和删除元素

    修改列表可指定列表名和要修改的元素的索引,再指定该元素的新值。

    motorcycles = ['honda','yamaha','suzuki']
    print(motorcycles)
    motorcycles[0] = 'ducati'
    print(motorcycles)

    >>>['honda','yamaha','suzuki']
    >>>['ducati','yamaha','suzuki']
    
    

    你可以修改任何列表元素的值,而不仅仅是第一个。

    在列表末尾添加新元素

    motorcycles = ['honda','yamaha','suzuki']
    motorcycles.append('ducati')
    print(motorcycles)
    
    >>>['honda','yamaha','suzuki','ducati']

    方法append()将元素’ducati’添加到了列表末尾。方法append()让动态创建列表变得简单,你可以先创建一个空列表,再使用一系列的append()语句添加元素。

    motorcycles = []
    motorcycles.append('honda')
    motorcycles.append('yamaha')
    motorcycles.append('suzuki')
    print(motorcycles)
    
    >>>['honda','yamaha','suzuki']

    在列表中插入元素

    使用方法insert()可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。

    motorcycles = ['honda','yamaha','suzuki']
    
    motorcycles.insert(0,'ducati')
    print(motorcycles)
    
    >>>['ducati','honda','yamaha','suzuki']

    从列表中删除元素

    你可以根据位置或值来删除列表中的元素

    使用del语句删除元素

    (如果知道要删除的元素在列表中的位置,可使用del语句)

    motorcycles = ['honda','yamaha','suzuki']
    prInt(motorcycles)
    
    del motorcycles[0]
    print(motorcycles)
    
    >>>['honda','yamaha','suzuki']
    >>>['yamaha','suzuki']

    有时候,你要将元素列表中删除,并接着使用它的值。方法pop()可删除列表末尾的元素,并让你能够接着使用它。pop(弹出)就源自于这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

    motorcycles = ['honda','yamaha','suzuki']
    print(motorcycles)
    
    popped_motorcycles = motorcycles.pop()
    print(motorcycles)
    print(popped_motorcycles)
    
    >>>['honda','yamaha','suzuki']
    >>>['honda','yamaha']
    >>>suzuki

    你可以使用pop()来删除列表中任何位置的元素,只要在括号中指定要删除的元素的索引即可。pop()默认删除最后一个。

    motorcycles = ['honda','yamaha','suzuki']
    frist_owned = motorcycles.pop(0)
    print('The first motorcycle I owned was a'+ frist_owned.title() + '.')
    
    >>>The first motorcycle I owned was a Honda.

    如果你不确定该使用del语句还是pop()方法,下面是一个最简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就是用del语句:如果你要在删除元素后还能继续使用它,就用pop()方法。

    根据值删除元素

    有时候,你不知道要从列表中删除的值在什么位置,你可以使用方法remove()。

    例如,假设我们要从列表motorcycles中删除值’ducati’

    motorcycles = ['honda','yamaha','suzuki','ducati']
    print(motorcycles)
    moorcycles.remove('ducati')
    print(motorcycles)
    
    >>>['honda','yamaha','suzuki','ducati']
    >>>['honda','yamaha','suzuki']

    使用remove()从列表中删除元素时,也可以直接使用它的值。

    motorcycles =  ['honda','yamaha','suzuki','ducati']
    print(motorcycles)
    too_expensive = 'ducati'
    motorcycles.remove(too_expensive)
    print(motorcycles)
    print("
    A" + too_expensive.title() + "is too expensive for me.")
    
    >>> ['honda','yamaha','suzuki','ducati']
    >>> ['honda','yamaha','suzuki']
    >>>A Ducati is too expensive for me.

    方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

    2.3组织列表

    在创建列表时,元素的排列顺序常常无法预测。因为你并非总能控制用户输入的顺序。但你经常需要以特定顺序呈现信息。

    使用方法sort()对列表进行永久排序

    cars = ['bmw','audi','toyota','subaru']
    cars.sort()
    print(cars)
    
    >>>['audi','bme','subaru','toyota']

    方法sort()永久性地修改了列表元素的顺序

    你还可以按与字母顺序相反的顺序排序列表元素,只需向sort()方法传递参数 reverse = True

    cars = ['bmw','audi','toyota','subaru']
    cars.sort(reverse = True)
    print(cars)
    
    >>>['toyota','subaru','bmw','audi']

    使用函数sorted()对列表进行临时排列

    要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数sorted()可让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。

    cars = ['bmw','audi','toyota','subaru']
    print(cars)
    print(sorted(cars))
    print(cars)
    
    >>>['bmw','audi','toyota','subaru']
    >>>['audi','bmw','subaru','toyota']
    >>>['bmw','audi','toyota','subaru']

    调用sorted()后,列表元素的排列顺序并没有改变。如果你要按与字母顺序相反的顺序显示列表,也可以向函数sorted()传递参数 reverse = True。

    倒着打印列表

    要反转列表元素的排列顺序,可用方法reverse()。

    cars = ['bmw','audi','toyota','subaru']
    print(cars)
    
    cars.reverse()
    print(cars)
    
    >>>['bmw','audi','toyota','subaru']
    >>>['subaru','toyota','audi','bmw']

    reverse()只是反转列表元素的排列顺序。如果想要恢复到原来的顺序,只需要再次对列表调用reverse()即可。

    确定列表的长度

    使用函数len()可以快速知道列表的长度。

    >>>cars = ['bmw','audi','toyota','subaru']
    >>>len(cars)
    
    4

    注意:Python计算列表元素数时从1开始。

  • 相关阅读:
    河北省重大技术需求征集七稿第二天
    河北省重大技术需求征集七稿第一天
    CNN网络架构演进
    C++学习-类域、友元、运算符重载、对象的生存期,可见域,作用域(2)
    C++学习-类域、友元、运算符重载、对象的生存期,可见域,作用域(1)
    C++学习-输入输出
    C++学习-new delete扩展
    C++学习-类和对象(2)
    C++学习-类和对象(1)
    C++学习-程序内存分配方式
  • 原文地址:https://www.cnblogs.com/wf1017/p/9143102.html
Copyright © 2020-2023  润新知