当前位置: 首页 > news >正文

Python 一维列表基础语法

【Python】【基础语法】【列表】

  • 引子
  • 创建一个列表
  • 获取数据的类型
  • 输出列表
  • 获取列表的长度
  • 获取元素的值
  • 获取元素的索引
  • 遍历列表
  • 练习

引子

列表(list)是python的基本数据类型之一。一维列表,常常被简称为列表,亦称为向量(vector)。

六大基本数据类型
数字型
字符串str
列表list
元组tuple
字典dict
集合set
列表由元素(element)组成,而元素由元素的值(value)和元素的索引(index)构成。

创建一个列表

# 创建一个变量,命名为a_list(一个列表),数据类型为list型,赋值为[19, 29, 20, 24, 11, 2]
a_list = [19, 29, 20, 24, 11, 2]

假设我们的读者已经有了对于变量的基本概念,观察这行代码。我们不难发现a_list是一个变量,而a_list = [19, 20, 24, 11, 2]是一个赋值语句。因为它符合变量 = 值的语法格式嘛,这是显而易见的。我们说,python是动态类型语言,即变量的数据类型由其值的数据类型决定。变量的类型不是显式的。
我们现在通过下面几行代码,回顾一下之前常见的一些数据类型,来看看我们是如何通过值来判断变量的数据类型的:

a = 2024  # 2024是一个整数,所以变量a是整数型(int型)的
b = 19.42  # 19.42是一个小数(浮点数),所以变量b是浮点型(float型)的
c = True  # True是一个逻辑值,所以变量c是布尔型(bool型)的
d = 'Saturday'  # 'Saturday是一个字符串,所以变量d是字符串型(str型)的

简单概括一下,小数点.是浮点数的标志,引号是字符串的标志。

  • 引号
    • 单引号 ''
    • 双引号""
    • 三引号
      • 三对单引号''' '''
      • 三对双引号""" """

那么自然而然地,列表的标志是什么呢?在python中列表的标志被规定为方括号(中括号)[]。有的聪明的读者可能要说:“嗯,我们因为被你事先告知了a_list = [19, 29, 20, 24, 11, 2]是在创建一个列表,所以得知[]是列表的标志。但是如果你啥也不事先告诉我们,我们该如何知道呢?”

获取数据的类型

是的,在未被告知结果时,我们该如何总结出知识来呢?这里和大家分享一个函数用于获取数据的类型

type(a_list)  # 获取变量a_list的数据类型

type的中文意思,即为“类型”。有了type()函数,你将可以“一招鲜吃遍天”,获取任何数据的类型啦😁。

输出列表

print(a_list)

不管a_list是什么数据类型,它首先是一个变量,凡是变量都可以使用print()函数在控制台输出,不过不敢保证下一次会在控制台上释放出什么“妖魔鬼怪”。好奇的朋友可以试试运行下面的代码块:

import pygame
variable = pygame.event。get()
print(variable)

话说回来,运行print(a_list)语句,我们将在控制台得到以下内容:

[19, 29, 20, 24, 11, 2]

现在我们可以通过type()函数获得变量a_list数据类型,还可以通过print()函数获得变量a_list。在之前的学习中,这些已经是关于一个变量的全部了。不过,到了列表可就不止这些了。

获取列表的长度

我们说列表由元素组成,那么首先请问列表中有多少个元素,该如何得知呢?对于[19, 29, 20, 24, 11, 2]这个列表,我们单凭肉眼一下子就可以数过来,是6个。但是如果是地球上每个人的身高值组成的一个列表呢?你还想通过肉眼,通过数数,数出来吗?OMG!那也太疯狂了吧!
于是,“既贪婪又懒惰的”程序员们,创造了一个很方便的工具,用于获取列表中元素的个数,并且将“列表中元素的个数”这句拗口的话概括为“列表的长度”。(ps:好家伙,“懒惰的”程序员们,连说话多几个字都嫌麻烦呢,哈哈哈😄)
这个工具就是len()函数——

len(a_list)  # 获取列表a_list的长度

获取元素的值

无论是type(a_list)也好,还是print(a_list),以及len(a_list),都是在围绕列表的宏观层面打转转。我们说列表由元素组成,元素由值和索引构成,那么让我们看看列表的微观层面——元素有哪些好玩的东西吧!
首先,我们可以通过下标访问法获取元素的值:

a_list[0]  # 获取第一个元素的值

索引又称为下标,人们约定俗成地将上面的方法命名为“下标访问法”而不是“索引访问法”大可不必深究。这个方法的语法格式是:list_name[index]
列表中的每一个元素都有其位序,我们将元素的位序称为索引(或下标)。python规定,从左往右数,第一个元素的索引是0(很多语言都这样规定),第二个元素的索引为1,以此类推直到最后一个元素。另外,python还规定,列表从右往左数,第一个元素的索引为-1,第二个元素的索引是-2,以此类推。

获取元素的索引

其次,我们不过可以获取单个元素的值,也可以获取单个元素的索引:

a_list.index(19)  # 获取值为19的元素的索引

这里请注意,index()并不是一个普通的函数,它和type()print()用起来不一样。它需要点调用.。我们一般称这样的“函数”为方法。(方法是类与对象中的概念,后面的博客会有介绍,与它并行的概念还有一个是属性。我们也常将属性-方法,称为特征-行为。用于刻画类与对象。)
然后呢关于列表的索引,还有一个要点要注意,就是,从左往右数最后一个元素的索引等于列表的长度减一

遍历列表

做了以上铺垫之后,最后就来到了列表最重要,最变化无穷、妙趣横生的地方了。

# 使用while循环+下标访问法遍历列表,方法1
index = 0
while index < len(a_list):print(a_list[index])index += 1
# 使用while循环+下标访问法遍历列表,方法2
index = 0
while index <= len(a_list) - 1:print(a_list[index])index += 1
# 使用for循环+下标访问法遍历列表,方法3
for index in range(len(a_list)):print(a_list[index])
# 使用迭代器遍历列表,方法4
for elem in a_list:print(elem)  # elem是element的简写

以上就是本次要给大家分享的乐趣啦。

练习

最后给大家出点有意思的练习题,一方面检查我们理解得是否到位,另一方面加深一下我们的印象吧!答案下期会在练习环节给出:

Question:
计算上例中,列表a_list中所有元素值的平均值
提示:平均值即平均数,其数学公式为:
a v g = ∑ i = 0 n − 1 a i n , n 为 列 表 元 素 的 个 数 , a i 表 示 列 表 a 中 第 i 个 元 素 avg = \cfrac{\displaystyle\sum_{i=0}^{n-1}a_i}{n}, n为列表元素的个数,a_i表示列表a中第i个元素 avg=ni=0n1ai,naiai


http://www.mrgr.cn/news/64550.html

相关文章:

  • [ vulnhub靶机通关篇 ] 渗透测试综合靶场 Corrosion1 通关详解 (附靶机搭建教程)
  • Python 字符串类型中 ``split(“\n“)`` 与 ``splitlines()`` 方法的一些区别
  • mac安装brew
  • 基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)
  • Java实战项目-基于微信小程序的校园生活互助服务小程序
  • pdmaner连接sqlexpress
  • HashMap的实现原理
  • 十四届蓝桥杯STEMA考试Python真题试卷第二套第二题
  • 【热门主题】000024 探索人工智能学习框架:开启智能未来之门
  • JDBC学习笔记
  • Maven随笔
  • C#数组基础:声明、初始化与访问指南
  • InsuranceclaimsController
  • 【k8s】-运维技巧-1
  • ngxin系列--(二)--stream模块的加载、accept、read/write
  • 利士策分享,青年心向新潮,未来可期
  • 大模型入门(二)—— PEFT
  • 【JavaEE初阶 — 多线程】Thread的常见构造方法&属性
  • 【Python】全面解析Python中的GIL(全局解释器锁):多线程与多进程的实战与抉择
  • asrpro 库制作
  • 样本不均衡与异常点检测处理|SMOTE|LOF|IForest
  • SVN 提交操作
  • 【语义分割|代码解析】CMTFNet-4: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割!
  • 非线性数据结构之图
  • Python编程风格:保持逻辑完整性
  • Linux运行Java程序,并按天输出日志