Python编程笔记3列表list

Python编程笔记,第3记:数据结构之列表list

        在本节中,你将学习:列表是什么以及如何使用其中的元素;如何定义列表以及如何增删元素;如何对列表进行永久性排序,以及如何为展示列表而进行临时排序;如何确定列表的长度,以及在使用列表时如何避免索引错误。

目录

Python编程笔记,第3记:列表list

# 3.1列表是什么

# 3.1列表由一系列按特定顺序排列的元素组成.在Python中,用方括号[]来表示,并用逗号来分隔其中的元素.

# 如何定义一个列表变量

# 如何访问列表元素

# 如何和使用列表中的各个值

# 如何修改、添加、删除列表元素

# 在列表中添加元素

# 在列表中插入元素

扫描二维码关注公众号,回复: 12673978 查看本文章

# 从列表中删除元素

# 根据索引删除元素

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

# 3.2使用方法pop()删除元素.

# 根据值删除元素

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

# 3.3组织列表

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

# 2.使用函数sorted()对列表进行临时排序.

# 3.倒着打印列表

# 确定列表长度

# 使用函数len()可快速获悉列表的长度.

 


# 3.1列表是什么

# 3.1列表由一系列按特定顺序排列的元素组成.在Python中,用方括号[]来表示,并用逗号来分隔其中的元素.

# 如何定义一个列表变量

  • bicycles = ['trek', 'cannondale', 'redline', 'specialized']
  • print(bicycles)  # 打印出列表内的内容,包括方括号.

输出结果为:

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

# 如何访问列表元素

  • # 3.1.1如何访问列表元素
  • # 要访问列表元素,可指出列表名称,再指出元素索引.
  • bicycles = ['trek', 'cannondale', 'redline', 'specialized']
  • print(bicycles[0])  # 访问列表的第一个元素.
  • print(bicycles[1])  # 访问列表的第二个元素.以此类推.
  • print(bicycles[2].title())  # 还可以对任何列表元素调用字符串方法.
  • # Python为访问最后一个列表元素提供了一种特殊语法.通常将索引指定为-1,可让Python返回最后一个列表元素.
  • print(bicycles[-1])
  • # 这种约定也适用于其他负数索引,列如,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,以此类推.
  • print(bicycles[-3])
  • # 在Python中,第一个列表元素的索引是0,而不是1。

输出结果为:

trek
cannondale
Redline
specialized
cannondale

# 如何和使用列表中的各个值

  • # 3.1.2如何和使用列表中的各个值.
  • bicycles = ['trek', 'cannondale', 'redline', 'specialized']
  • message = "My first bicycle was a " + bicycles[0].title() + "."
  • print(message)

输出结果为:

My first bicycle was a Trek.

# 如何修改、添加、删除列表元素

  • # 3.2如何修改、添加、删除列表元素.
  • # 要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值.
  • motorcycles = ['honda', 'yamaha', 'suzuki']
  • print(motorcycles)  # 打印出列表内的内容,包括方括号.
  • motorcycles[0] = 'ducati'  # 修改第一个列表元素的值.
  • print(motorcycles)

输出结果为:

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

# 在列表中添加元素

  • # 在列表中添加元素.
  • motorcycles = ['honda', 'yamaha', 'suzuki']
  • print(motorcycles)
  • # 1.在列表末尾添加元素.
  • motorcycles.append('ducati')  # 方法append()将元素添加到列表末尾,而不影响其他元素.
  • print(motorcycles)
  • # 方法append()让动态地创建列表易如反掌.
  • motorcycles = []  # 创建一个空列表.
  • print(motorcycles)
  • # 向列表中添加元素.
  • motorcycles.append('honda')
  • motorcycles.append('yamaha')
  • motorcycles.append('ducati')
  • print(motorcycles)

输出结果为:

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

# 在列表中插入元素

  • # 2.在列表中插入元素.
  • # 使用方法insert()可在列表的任何位置添加新元素,只需指定新元素的索引和值.
  • motorcycles = ['honda', 'yamaha', 'suzuki']
  • motorcycles.insert(0, 'ducati')  # 在列表第一个位置插入元素‘ducati'
  • print(motorcycles)
  • motorcycles.insert(2, 'Vespa')  # 在列表第三个位置插入元素'Vespa'
  • print(motorcycles)

输出结果为:

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

# 从列表中删除元素

  • # 3.从列表中删除元素.
  • # 可根据位置或值来删除列表中的元素.

# 根据索引删除元素

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

  • # 使用del语句将值从列表中删除后,你就无法再访问该值了.

  • motorcycles = ["honda", 'yamaha', 'vespa', 'suzuki']
  • print(motorcycles)
  • del motorcycles[0]  # 删除列表中第一个位置的元素.
  • print(motorcycles)
  • # 使用del语句可删除任何位置的列表元素,条件是要知道它的索引.
  • del motorcycles[1]  # 删除列表中第二个位置的元素.
  • print(motorcycles)

输出结果为:

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

# 3.2使用方法pop()删除元素.

  • # 有时候,需要将元素从列表中删除,并接着使用它.这时,可以使用pop()方法.
  • motorcycles = ["honda", 'yamaha', 'vespa', 'suzuki']
  • print(motorcycles)
  • # 从列表中删除最后一个元素.
  • popped_motorcycle = motorcycles.pop()
  • print(motorcycles)
  • print(popped_motorcycle)
  • print("The last motorcycle I owned was a " + popped_motorcycle.title() + ".")

输出结果为:

['honda', 'yamaha', 'vespa', 'suzuki']
['honda', 'yamaha', 'vespa']
suzuki
The last motorcycle I owned was a Suzuki.

  • # 使用pop()方法删除列表中任意位置的元素,只需在括号中指定要删除的元素的索引即可.
  • motorcycles = ["honda", 'yamaha',  'ducati', 'suzuki']
  • second_owned = motorcycles.pop(1)  # 删除/弹出列表中的第二个元素.
  • print("The second motorcycle I owned was a " + second_owned.title() + ".")

输出结果为:

The second motorcycle I owned was a Yamaha.

  • # 注意:每当使用pop()时,被弹出的元素就不再在列表中了.
  • # 如果你要从列表中删除一个元素,且不再使用它,就是用del语句删除;
  • # 如果你要在删除元素后还能继续使用它,就使用pop()方法.

# 根据值删除元素

  • # 4.根据值删除元素.
  • motorcycles = ['honda', 'ducati', 'yamaha', 'vespa', 'suzuki']
  • print(motorcycles)
  • motorcycles.remove('yamaha')  # 从列表中删除值'ymaha'
  • print(motorcycles)
  • # 有时候,你不知道要从列表中删除的元素所在的位置,但是知道它的值,可使用remove()方法删除.

输出结果为:

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

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

  • motorcycles = ['honda', 'ducati', 'yamaha', 'vespa', 'suzuki']
  • print(motorcycles)
  • too_expensive = 'ducati'
  • motorcycles.remove(too_expensive)
  • print(motorcycles)
  • print("\nA " + too_expensive.title() + " is too expensive for me.")

输出结果为:

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

A Ducati is too expensive for me.

  • # 注意:remove()只删除第一个指定的值.如果要删除的值在列表中出现多次,就需要用循环来判断是否删除了所有这样的值.

# 3.3组织列表

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

  • cars = ['bmw', 'audi', 'toyota', 'subaru']
  • cars.sort()
  • # 方法sort()永久性地修改了列表元素的排列顺序.现在,汽车是按字母顺序排列的,再也无法恢复到原来的排列顺序.
  • print(cars)
  • # 还可以按与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数reverse=True.
  • cars.sort(reverse=True)
  • print(cars)

输出结果为:

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

# 2.使用函数sorted()对列表进行临时排序.

  • # 要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可以使用函数sorted().
  • # sorted()函数让你能够以特定的顺序显示列表元素,同时不影响它们在列表中的原始排列顺序.
  • cars = ['bmw', 'audi', 'toyota', 'subaru']
  • print('\nHere is the original list:')
  • print(cars)
  • print("Here is the sorted list:")
  • print(sorted(cars))
  • # 注意:调用sorted()函数后,列表元素的排列顺序并没有改变.
  • # 如果你要按与字母顺序相反的顺序显示列表,也可以向函数sorted()传递参数reverse=True.
  • print(sorted(cars, reverse=True))

输出结果为:

Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']

# 3.倒着打印列表

  • # 要反转列表的排列顺序,可使用方法reverse().
  • cars = ['bmw', 'audi', 'toyota', 'subaru']
  • print('\nHere is the original list:')
  • print(cars)
  • # 反转列表排列顺序
  • cars.reverse()
  • print("Here is the sorted list:")
  • print(cars)
  • # 方法reverse()永久性地修改列表元素的排列顺序, 但可随时回复到原来的排列顺序,只需对列表再次调用reverse()即可.

输出结果为:

Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['subaru', 'toyota', 'audi', 'bmw']

# 确定列表长度

  • # 4.确定列表长度

# 使用函数len()可快速获悉列表的长度.

  • cars = ['bmw', 'audi', 'toyota', 'subaru']
  • length = len(cars)
  • print("The list of cars's length:")
  • print(length)

输出结果为:

The list of cars's length:
4

  • # 每当需要访问最后一个列表元素时,都可以使用索引-1.这在任何情况下都是有效的,当且仅当列表为空时,这种访问方式才会导致错误.
  • # 索引-1总是返回最后一个列表元素.当且仅当列表为空时,这种访问方式才会导致错误.
  • # 注意:发生索引错误却找不到解决办法时,请尝试将列表或者其长度打印出来.列表可能与你以为的截然不同.
  • 不积跬步,无以至千里;不积小流,无以成江海。 

 

猜你喜欢

转载自blog.csdn.net/yishuihanq/article/details/105927888