《树莓派Python编程指南》——3.2 在结构体中存储值

3.2 在结构体中存储值

除了简单数据类型,Python还允许我们将数据用不同方式组合起来创建结构体。最简单的结构体是sequences(线性结构)。它将信息一个接一个地存储起来。它分为有两类:lists(列表)和tuples(元组)。多数情况下,它们是相似的。
来看接下来的例子:

我们用方括号将数字括起来构成列表,用圆括号将数字括起来构成元组。到现在为止,它们两个工作起来都是一致的。在结构体名后面跟方括号,方括号中填下标就可以访问单个元素。注意下标从0开始,因此list_1[0]和tuple_1[0]可以访问线性结构中的第一个元素。
当你去更新元素时就会发现列表和元组间的差别:

可见,你可以更新列表中的单个元素,却不能更新元组中的单个元素。然而,你可以一次性覆盖元组中的所有元素。这时,可以告诉Python将变量tuple_1赋一个新值以取代旧值。

上一节中我们提到的strings就是一串字符,它的操作符可以用于列表和元组。下面继续以list_1和tuple_1为例:

参考表3-3,复习下我们可以在这里使用的字符串操作。
列表和元组中的元素可以是任意数据类型,包括列表和元组自身。如果愿意,你可以创建列表的列表的列表的列表。当然,如果真的这样做了,你的代码将会变得异常难懂。但列表的列表,通常会比较有用。你可以把它当做一个二维表:

你可以通过主列表和子列表索引来获取元素:

从表

3-4中可以看出来为什么它可以当做二维表。
表3-4 二维列表示例

有许多方法可以用来操纵列表。表3-5给出了常用的方法。

这里的多数例子都和我们之前遇见的不一样,因为它们(除了index()和sort())改变了list_3的值而不是返回一些值。例如,在Python解释器中运行第一个例子,当然,你需要额外的一行来显示list_3的值。

然而,index()和count()仅仅返回一个值:

pop(x)有点特殊,因为它一次做了两件事。首先,它返回列表中第x个位置的元素值,同时它还从列表中删除了该元素。试着运行下面的例子,感受下它是如何工作的:

上面说过,元组除了不能被修改,它和列表非常类似。所有用于列表操作,只要不改变元素值,都可以用于元组:

3.2.1 字典和集合中的非序列元素
你可以认为列表和元组是元素的集合,每个元素都对应了其中的一个下标。例如,在列表[“a”, “b”, “c”, “d”]中,a的下标是0,b的下标是1,以此类推。然而,当你想用非数字的下标时该怎么做呢?例如,你想要创建一个数据结构,把朋友的昵称和真实名字关联起来,如:

在Python中,可以使用通过花括号来定义的字典(dictionary)。你可以使用下列语句创建字典real_name:

字典中的元素称为键值对(key/value pair),其中第一部分(本例中的昵称)是键(key),第二部分(全名)是值(value)。只需要给定一个新key及其对应的值就可以在字典中新加元素:

你可能想知道为什么需要下标或者键。实际上,这些并不是必需的。Python中的集合(set)允许你把一堆数据放在一起而不用指定下标或序号。例如:

可以看出,Python使用in操作来测试给定的值是否在集合中。还有些其他操作可以用到集合中。参见表3-6。
表3-6 集合的操作(例子中使用了先前定义的集合)
操作符 含义 例子
返回两个集合共有的元素
合并两个集合中的元素
set_1中存在set_2中不存在的元素
set_1或set_2中存在的元素,不包括两个集合共有的元素

3.2.2 知识测试
下面的Python语句是什么意思?试想一下,然后将它们输入Python解释器检验下自己的判断。提示:有一些语句会导致错误。

时间: 2024-08-22 15:24:35

《树莓派Python编程指南》——3.2 在结构体中存储值的相关文章

《树莓派Python编程指南》—— 导读

前 言 计算机已经不再只是用来工作的方盒子.任何拥有一个可编程处理中心的东西都可以称作计算机.游戏终端.智能手机.全球卫星定位系统(GPS)单元.平板电脑以及其他许多令人难以置信的设备都说明了这一点.它们都是计算机,并且它们已经接管了这个世界.我们用它们来工作.通信,以及娱乐.事实上,很难找到有哪个领域还从未使用过计算机. 销售人员喜欢用智能来描述嵌入式计算机设备(智能手机.智能电视.智能手表等),事实上它们却并不智能.处理单元只是块执行指令的硅片.智能手机的"智能"并非来自计算机芯片

《树莓派Python编程指南》——第3章 Python基础3.1 变量、值和类型

本节书摘来自华章计算机<树莓派Python编程指南>一书中的第3章,第3.1节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问"华章计算机"公众号查看. 第3章 Python基础 在前面章节中,我们直接深入Python程序中,希望能够给你一个概念--什么是Python.但你还不清楚它具体是如何工作的.本章中,我们将回答这些问题,并详细介绍如何在Python中创建自己的程序.在后继的章节中,我们将分别介绍Python的不同特性,帮助你为树

《树莓派Python编程指南》——2.2 一个Python游戏:猫和老鼠

2.2 一个Python游戏:猫和老鼠 现在,让我们开始第二个Python程序.这次你将写出一个猫和老鼠的游戏.游戏者使用方向键来控制老鼠,使其保持在猫的前方(由计算机控制猫).保持时间越长,得分越高. 下面例子中的程序名字是Chapter2-catandmouse.py. 打开一个IDLE3新窗口并输入下面的代码: 代码很多,在仔细读之前可以先试玩几次感受一下.这样也可以检验你的输入是否完全正确.如果程序出错,先检查下输入,然后再试一下.图2-4给出了程序运行界面. 2.2.1 理解变量 程序

《树莓派Python编程指南》——第2章 Python简介2.1 使用Turtles绘画

第2章 Python简介 本章通过一些代码示例来逐步介绍Python.你不必了解这些代码的所有细节,本章只是带你领略下编程的感觉.你将会学到如何在屏幕上绘画,甚至如何编写简单的游戏.同时,你将会学到一些编程的基本概念.如果无法完全理解本章中的程序,不用担心,我们会在后面章节中做详细介绍. 2.1 使用Turtles绘画 是时候开始编程了!我们强烈建议你将代码一行行输入IDLE3,这样可以帮助你理解每行都做了什么事情.言归正传,打开IDLE3,点击File→New Window,然后输入: 然后点

《树莓派Python编程指南》—— 1.3 树莓派快速指南

1.3 树莓派快速指南 本书主要面向编程方向,而不是介绍如何使用树莓派.因此我们不会过多地介绍树莓派.但你会从中了解到树莓派是如何工作的. 有不少操作系统可以运行在树莓派上,本书的命令都是基于Raspbian的(一个树莓派默认的操作系统),也是初学者最好的选择.如果有Linux的使用经验,可以选择Arch或者Fedora.选择了其他系统,就需要将本书的apt-get命令转换为相应系统的命令以完成软件包管理. 在树莓派上安装Raspbian的最简便方法是使用NOOBS,可以从www.raspber

《树莓派Python编程指南》——3.3 控制程序流程

3.3 控制程序流程 while循环是一种最简单的循环.只要结果是布尔类型的任何语句都可以做它的判断条件,它将会持续循环到条件为假.如果条件始终为真,它将一直循环下去.例如: 但愿你还记得第2章的循环体.在条件后面要加上冒号,接下来的一行要有缩进,所有缩进部分都属于循环体.要在Python解释器中运行这段代码,输入print语句之后要按回车键(Enter).用退格键(backspace)删掉自动产生的tab(缩进),然后再按回车键.这是告诉Python循环体结束了,你需要执行这段代码. 这段代码

《树莓派Python编程指南》——第1章 起航(启动和运行)1.1 组装好你的树莓派

第1章 起航(启动和运行) 欢迎阅读本书.本书从三维图像.游戏编程到控制电子学,再到推文,会让你学到如何解放这个小计算机的全部能量.你将会看到掩藏在表象之下的内部世界,并学会如何创建程序以发挥这台小计算机的全部特性. 1.1 组装好你的树莓派 为跟进本书,你需要一些设备: 树莓派 USB键盘 USB鼠标 SD卡 显示器 电源 还有一些有用的可选设备: 有源USB集线器(强烈推荐) 摄像头模块 USB网络摄像头 USB 无线网络(WiFi)适配器 本书中的所有内容都可以在A版树莓派上完成.从编程角

《树莓派Python编程指南》——2.3 小结

2.3 小结 我们的Python快速导览到此为止.希望这些程序能够帮助你理解它.不用担心无法百分之百地理解全部内容,我们会在第3章比较详细地介绍Python的其他部分.无论如何,还是希望你能理解下列几个方面: Python程序由一系列命令组成并从上到下执行. 可以通过循环和if语句控制程序的执行顺序. 不必事必躬亲,通过导入模块,使用模块中的方法可以完成许多工作. 函数可以帮助重用代码,也可以使程序变得易于理解和维护. 变量可以存储信息以便后面使用. 在Python中画一朵花或者写个游戏非常容易

《树莓派Python编程指南》——1.5 小结

1.5 小结 读完本章,你应该理解以下内容: 你需要一些额外的硬件以更好地利用树莓派. 供电不足是最常见的问题. 遇到问题时,最好从dmesg和syslog开始查找原因. Raspbian使用LXDE桌面环境. 终端是和底层操作系统最有效的沟通方式. raspi-config可以用来配置树莓派. apt-get可以用来安装新软件. Python可以通过shell交互或者文本程序运行.