Python编程入门到实践 - 笔记(

发布时间:2019-09-18 07:21:09编辑:auto阅读(1513)

    练习内容包括

    创建并访问列表

    列表的索引

    使用列表中的各个值

    修改列表中的元素

    在列表中添加元素 append()

    在列表中插入元素 insert()

    在列表中删除元素 del,pop()

    根据值删除列表中的元素 remove()

    对列表中的元素进行排列

      1)永久性修改 sort(),按字母表正向排列

      2)永久性修改 sort(reverse=True),按字母表反向排列

      3)临时修改 sorted(),按字母表正向排列

    对列表中的元素进行反转打印 reverse()

    计算列表长度 len()



    Python中的列表,什么是列表?

    列表由一系列按特定顺序排列的元素组成,通常列表包含多个元素。

    创建并访问元素列表

    -------------------------------------------------------------

    bicycles = [ 'trek', 'cannondale', 'redline', 'specialized' ]
    print(bicycles)
    print(bicycles[0])
    print(bicycles[0].title())
    -------------------------------------------------------------

    ['trek', 'cannondale', 'redline', 'specialized']

    trek

    Trek

    -------------------------------------------------------------


    #1 打印 bicycles 列表,显示全部列表

    #2 bicycles[0] 这个 0 表示打印 bicycles 列表中索引位置为 0 的元素

    #3 用上前面学过的内容,打印并且首字母大写



    索引

    索引是从 0 开始,而不是 1。不光是 Python,大多数编程语言都是如此。

    访问列表中的第一个和第四个元素,可以使用索引 1和3。

    -------------------------------------------------------------

    bicycles = [ 'trek', 'cannondale', 'redline', 'specialized' ]
    print(bicycles[1])
    print(bicycles[3])
    -------------------------------------------------------------

    cannondale

    specialized

    指定 –1 为访问列表中的最后一个元素,同理 –2 代表访问倒数第二个元素

    ------------------------------------------------------------

    bicycles = [ 'trek', 'cannondale', 'redline', 'specialized' ]
    print(bicycles[-1])
    print(bicycles[-3])
    ------------------------------------------------------------

    specialized

    cannondale



    使用列表中的各个值

    ------------------------------------------------------------

    bicycles = [ 'trek', 'cannondale', 'redline', 'specialized' ]

    message = "My first bicycle was a " + bicycles[0].title() + "."
    print(message)
    -------------------------------------------------------------
    My first bicycle was a Trek.


    修改列表元素
    直接修改列表中的第一个元素。
    ---------------------------------------------
    motorcycles = [ 'honda', 'yamaha', 'suzuki']
    print(motorcycles)

    motorcycles[0] = 'ducati'
    print(motorcycles)
    ---------------------------------------------

    ['honda', 'yamaha', 'suzuki']

    ['ducati', 'yamaha', 'suzuki']



    在列表中添加元素

    --------------------------------------------

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

    motorcycles.append('ducati')
    print(motorcycles)
    --------------------------------------------

    ['honda', 'yamaha', 'suzuki']

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


    .append() 可以在列表的添加元素,不影响列表本身的顺序

    定义一个空列表,依次添加元素,并打印该列表

    ----------------------------

    motorcycles = []

    motorcycles.append('honda')
    motorcycles.append('yamaha')
    motorcycles.append('suzuki')

    print(motorcycles)
    -----------------------------
    ['honda', 'yamaha', 'suzuki']


    在列表中插入元素
    在 motorcycles 列表中插入 ducati,插入位置的索引值为 0
    ---------------------------------------------
    motorcycles = [ 'honda', 'yamaha', 'suzuki' ]

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


    从列表中删除元素(del)
    指定列表中索引值为 0 的元素
    指定索引值可以删除,但是指定列表中的元素就无法删除
    使用 del 语句可以删除任何位置的列表元素,条件是知道其索引,删除后将无法访问
    ---------------------------------------------
    motorcycles = [ 'honda', 'yamaha', 'suzuki' ]
    print(motorcycles)

    del motorcycles[0]
    print(motorcycles)
    ----------------------------------------------

    ['honda', 'yamaha', 'suzuki']

    ['yamaha', 'suzuki']



    从列表中删除元素(pop())
    pop()默认删除列表中的最后一个元素,和 del 不同的是被删除的元素还可以继续使用。
    ---------------------------------------------
    motorcycles = [ 'honda', 'yamaha', 'suzuki' ]
    print(motorcycles)

    popped_motorcycle = motorcycles.pop()
    #定义被删除的元素
    print(motorcycles)
    #打印已经被删除后的列表
    print(popped_motorcycle)
    #打印被删除的元素
    ---------------------------------------------

    ['honda', 'yamaha', 'suzuki']

    ['honda', 'yamaha']

    suzuki


    实例:打印最后购买的摩托车

    ---------------------------------------------------------------------

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

    last_owned = motorcycles.pop()
    print("The last motorcycle I owned was a " + last_owned.title() + ".")
    ----------------------------------------------------------------------
    The last motorcycle I owned was a Suzuki.


    pop()函数也可以指定索引值进行打印
    -----------------------------------------------------------------------
    motorcycles = [ 'honda', 'yamaha', 'suzuki' ]

    first_owned = motorcycles.pop(0)
    print("The first motorcycle I owned was a " + first_owned.title() + ".")
    ------------------------------------------------------------------------
    The first motorcycle I owned was a Honda.


    根据值删除元素 remove()

    从列表 motorcycles 中删除值 ’ducati’
    -------------------------------------------------------
    motorcycles = [ 'honda', 'yamaha', 'suzuki', 'ducati' ]
    print(motorcycles)

    motorcycles.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)

    # remove()删除

    print(motorcycles)

    print("\nA " + too_expensive.title() + " is too expensive for me.")

    -------------------------------------------------------------------

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

    ['honda', 'yamaha', 'suzuki']

    A Ducati is too expensive for me.



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

    正向排序 sort()

    反向排序 sort(reverse=True)

    sort()函数会对列表进行永久性排序,排序规则为字母表顺序
    --------------------------------------------
    cars = [ 'bmw', 'audi', 'toyota', 'subaru' ]
    cars.sort()

    print(cars)
    --------------------------------------------
    ['audi', 'bmw', 'subaru', 'toyota']

    还可以在 sort() 函数中添加  参数,进行与字母表相反的排列顺序,同样也是永久的
    --------------------------------------------
    cars = [ 'bmw', 'audi', 'toyota', 'subaru' ]
    cars.sort(reverse=True)

    print(cars)
    --------------------------------------------
    ['toyota', 'subaru', 'bmw', 'audi']


    使用 sorted() 对列表进行临时排序
    --------------------------------------------
    cars = [ 'bmw', 'audi', 'toyota', 'subaru' ]

    print("Here is the original list:")
    print(cars)

    print("\nHere is the sorted list:")
    print(sorted(cars))

    print("\nHere is the original list agein:")
    print(cars)
    --------------------------------------------

    Here is the original list:

    ['bmw', 'audi', 'toyota', 'subaru']

    Here is the sorted list:

    ['audi', 'bmw', 'subaru', 'toyota']

    Here is the original list agein:

    ['bmw', 'audi', 'toyota', 'subaru']



    反转打印列表(永久性修改)
    是按照列表中元素顺序的相反顺序打印,而不是字母的相反顺序打印
    --------------------------------------------
    cars = [ 'bmw', 'audi', 'toyota', 'subaru' ]
    print(cars)

    cars.reverse()
    print(cars)
    --------------------------------------------

    ['bmw', 'audi', 'toyota', 'subaru']

    ['subaru', 'toyota', 'audi', 'bmw']



    len()确定列表的长度

    这个长度指的是列表中包含有几个元素

    --------------------------------------------

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

关键字