资讯专栏INFORMATION COLUMN

Python学习之路2-列表介绍

赵连江 / 372人阅读

摘要:本章主要介绍列表的基础与简单操作。列表是什么列表由一系列按特定顺序排列的元素组成。中用中括号来表示列表,并用逗号分隔其中的元素。代码结果打印了该列表的内部表示访问与使用列表中的元素大多数编程语言中,索引都是从开始的,而不是从开始的。

《Python编程:从入门到实践》笔记。
本章主要介绍列表的基础与简单操作。
1. 列表(List)是什么

列表由一系列按特定顺序排列的元素组成。
类似于C/C++, Java中的数组,但和他们不同的是,Python列表中的元素可以是不同类型。
Python中用中括号[]来表示列表,并用逗号分隔其中的元素。

# 代码:
bicycles = ["trek", "cannondale", "redline", "specialized"]
print(bicycles)

# 结果:
# python打印了该列表的内部表示
["trek", "cannondale", "redline", "specialized"]
1.1 访问与使用列表中的元素

大多数编程语言中,索引都是从0开始的,而不是从1开始的。以下代码是输出上述列表中的第1个元素:

# 代码:
print(bicycles[0])
print(bicycles[0].title())

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

# 结果:
trek
Trek
My first bicycle was a Trek.

Python还支持索引为负数,表示从后往前数,“-1”表示倒数第1个元素,例如:

# 代码:
print(bicycles[-1])

# 结果:
specialized

但是,不管索引是正数还是负数,都要注意索引越界问题

2. 修改、添加和删除元素 2.1修改列表元素
# 代码:
# 修改第一个元素
motorcycles = ["honda", "yamaha", "suzuki"]
print(motorcycles)

motorcycles[0] = "ducati"
print(motorcycles)

# 结果:
["honda", "yamaha", "suzuki"]
["ducati", "yamaha", "suzuki"]
2.2 添加元素

在列表末尾添加元素

# 代码:
motorcycles = ["honda", "yamaha", "suzuki"]
print(motorcycles)

motorcycles.append("ducati")
print(motorcycles)

# 结果:
["honda", "yamaha", "suzuki"]
["honda", "yamaha", "suzuki", "ducati"]

也可以动态建立motorcycles列表:

# 代码:
motorcycles = []  # 此句很重要!表示声明一个列表!
motorcycles.append("honda")
motorcycles.append("yamaha")
motorcycles.append("suzuki")
print(motorcycles)

# 结果:
["honda", "yamaha", "suzuki"]

在列表中插入元素

# 代码:
motorcycles = ["honda", "yamaha", "suzuki"]
motorcycles.insert(0, "ducati")
print(motorcycles)

motorcycles.insert(4, "dongfeng") # 在最后插入一个元素,相当于motorcycles.append("dongfeng")
print(motorcycles)

# 结果:
["ducati", "honda", "yamaha", "suzuki"]
["ducati", "honda", "yamaha", "suzuki", "dongfeng"]
2.3删除元素

使用 del 语句删除元素:知道元素在列表中的位置

# 代码:
motorcycles = ["honda", "yamaha", "suzuki"]
print(motorcycles)

del motorcycles[0]
print(motorcycles)

# 结果:
["honda", "yamaha", "suzuki"]
["yamaha", "suzuki"]

del 可删除任意位置的列表元素,前提是知道其索引

使用 pop() 方法删除元素:会返回被删除的元素,当对被删除的元素还有后续操作时使用此方法。
默认删除列表最后一个元素,当传入参数(作为索引)时,删除指定位置的元素(但请注意越界问题):

# 代码:
motorcycles = ["honda", "yamaha", "suzuki"]
print(motorcycles)

last_owned = motorcycles.pop()  # 默认
print("The last motorcycle I owned was a " + last_owned.title() + ".")
print(motorcycles)

motorcycles.pop(1)  # 传入参数
print(motorcycles)

# 结果:
["honda", "yamaha", "suzuki"]
The last motorcycle I owned was a Suzuki.
["honda", "yamaha"]
["honda"]

所以,pop() 方法也可以删除任意位置的元素

根据值删除元素的 remove()方法:当不知道元素索引,但知道元素值时

# 代码:
motorcycles = ["honda", "yamaha", "suzuki", "ducati"]
print(motorcycles)

motorcycles.remove("ducati")
print(motorcycles)

# 结果:
["honda", "yamaha", "suzuki", "ducati"]
["honda", "yamaha", "suzuki"]

注意,如果列表中有多个相同的值,romve() 方法只删除第一个

3. 组织列表 3.1 排序

sort() 方法对列表永久排序(原地操作)

# 代码:
cars = ["bmw", "audi", "toyota", "subaru"]
cars.sort()
print(cars)

# 结果:
["audi", "bmw", "subaru", "toyota"]

如果不想修改原列表,则应使用以下方法。
使用 sorted() 函数对列表进行临时排序

# 代码:
cars = ["bmw", "audi", "toyota", "subaru"]

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

print("
Here is ths sorted list:")
print(sorted(cars))

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

# 结果:
Here is the original list:
["bmw", "audi", "toyota", "subaru"]

Here is ths sorted list:
["audi", "bmw", "subaru", "toyota"]

Here is the original list again:
["bmw", "audi", "toyota", "subaru"]

不管是sort() 方法还是 sorted() 函数,如果想反向排序,只需要传入关键字参数reverse=True:

cars.sort(reverse=True)
sorted(cars, reverse=True)

以上两种排序是按ASCII码进行的排序,如果想自定义排序,需要传入自定义比较函数。

反向打印列表reverse() 方法,也是原地操作!并且这只是反向打印列表的实现方法之一

# 代码:
cars = ["bmw", "audi", "toyota", "subaru"]
print(cars)

cars.reverse()  # 注意!并没有排序后再反向!
print(cars)

# 结果:
["bmw", "audi", "toyota", "subaru"]
["subaru", "toyota", "audi", "bmw"]
3.2 确定列表长度

使用 len() 函数获得列表长度:

# 代码:
cars = ["bmw", "audi", "toyota", "subaru"]
print(len(cars))

# 结果:
4
迎大家关注我的微信公众号"代码港" & 个人网站 www.vpointer.net ~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41800.html

相关文章

  • Python学习之路14-生成数据

    摘要:小结本篇主要讲述了如何生成数据集以及如何对其进行可视化如何使用创建简单的图表如果使用散点图来探索随机漫步过程如何使用创建直方图,以及如何使用直方图来探索同时掷两个面数不同的骰子的结果。 《Python编程:从入门到实践》笔记。从本篇起将用三篇的篇幅介绍如何用Python进行数据可视化。 1. 前言 从本篇开始,我们将用三篇的篇幅来初步介绍如何使用Python来进行数据可视化操作。本篇的...

    wanglu1209 评论0 收藏0
  • Python学习之路5-字典

    摘要:本章主要介绍字典的概念,基本操作以及一些进阶操作。使用字典在中,字典是一系列键值对。中用花括号来表示字典。代码定义空字典的语法结果如果要修改字典中的值,只需通过键名访问就行。 《Python编程:从入门到实践》笔记。本章主要介绍字典的概念,基本操作以及一些进阶操作。 1. 使用字典(Dict) 在Python中,字典是一系列键值对。每个键都与一个值相关联,用键来访问值。Python中用...

    NicolasHe 评论0 收藏0
  • Python学习之路6-用户输入和while循环

    摘要:本章主要介绍如何进行用户输入,循环,以及与循环配合使用的语句。函数在中,使用函数获取用户输入,这里请注意的返回值为字符串。值得提醒的是,编写循环时应避免死循环,或者叫做无限循环,比如循环忘记了变量自增。 《Python编程:从入门到实践》笔记。本章主要介绍如何进行用户输入,while循环,以及与循环配合使用的break, continue语句。 1. input() 函数 在Pytho...

    wfc_666 评论0 收藏0
  • Python学习之路3-操作列表

    摘要:本章内容主要是对列表的进一步操作,以及初识元组数据结构。列表非常适合用于存储在程序运行期间可能变化的数据集,列表可以被修改。代码结果相比于列表,元组是更简单的数据结构。 《Python编程:从入门到实践》笔记。本章内容主要是对列表的进一步操作,以及初识元组数据结构。 1. 遍历列表 本章主要是for循环: # 代码: magicians = [alice, david, carolin...

    makeFoxPlay 评论0 收藏0
  • Python学习之路15-下载数据

    摘要:本节中将绘制幅图像收盘折线图,收盘价对数变换,收盘价月日均值,收盘价周日均值,收盘价星期均值。对数变换是常用的处理方法之一。 《Python编程:从入门到实践》笔记。本篇是Python数据处理的第二篇,本篇将使用网上下载的数据,对这些数据进行可视化。 1. 前言 本篇将访问并可视化以两种常见格式存储的数据:CSV和JSON: 使用Python的csv模块来处理以CSV(逗号分隔的值)...

    张春雷 评论0 收藏0

发表评论

0条评论

赵连江

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<