lzb1001 发表于 2023-5-5 17:57:09

【课后作业】013讲:以下情景中应该使用列表还是元组来保存数据:

请写出以下情景中应该使用列表还是元组来保存数据:

1) 游戏中角色的属性:列表

2) 你的身份证信息:元组

3) 论坛的会员:列表

4) 团队合作开发程序,传递给一个你并不了解具体实现的函数的参数:元组

5) 航天火箭各个组件的具体配置参数:元组

6) NASA系统中记录已经发现的行星数据:列表



判断以上场景使用列表还是元组的原则:


当希望内容不被轻易改写的时候,使用元组;当需要频繁修改数据,使用列表。


虽然知道原则,但结合实际场景时有些又感觉模棱两可,比如4)也看不懂什么意思

歌者文明清理员 发表于 2023-5-5 17:57:58

回答如下:

1) 游戏中角色的属性:列表,因为游戏中角色的属性会随着游戏进程而不断变化,需要频繁修改和更新数据。

2) 你的身份证信息:元组,因为身份证信息属于个人隐私内容,在保存后不应该被轻易修改,使用元组可以保证数据的不可变性和安全性。

3) 论坛的会员:列表,因为论坛会员数量可能随时变化,需要频繁添加或删除数据。

4) 团队合作开发程序,传递给一个你并不了解具体实现的函数的参数:元组。在这种情况下,我们可能不知道接收参数的函数对数据的修改行为,使用元组可以避免意外的数据修改操作。

5) 航天火箭各个组件的具体配置参数:元组,因为这些配置参数是预先确定好的,不需要频繁修改。

6) NASA系统中记录已经发现的行星数据:列表,因为行星数据随着时间推移可能会不断增加或更新,需要频繁修改和更新数据。

对于选择使用列表还是元组,我们可以根据数据的特点和需要进行综合考虑。当希望内容不被轻易改写的时候,使用元组;当需要频繁修改数据,使用列表。当我们不确定数据是否会被修改时,可以使用元组来保证数据的不变性和安全性。

isdkz 发表于 2023-5-5 18:13:00

以下是针对每个情景的详细解释:

1) 游戏中角色的属性:列表。因为角色的属性在游戏过程中可能会发生变化,例如角色升级后某些属性可能会增加。

2) 你的身份证信息:元组。身份证信息是固定的,不应该被轻易改变。

3) 论坛的会员:列表。因为会员可能会不断增加或者减少,使用列表可以方便地进行添加和删除操作。

4) 团队合作开发程序,传递给一个你并不了解具体实现的函数的参数:元组。在这种情况下,使用元组更安全,因为元组是不可变的,这可以确保你传递给函数的参数在函数内部不会被意外地修改。

5) 航天火箭各个组件的具体配置参数:元组。火箭组件的配置参数通常是固定的,为了确保它们不会被意外地更改,应该使用元组。

6) NASA系统中记录已经发现的行星数据:列表。随着新的行星被发现,需要不断更新这个数据集,因此列表是更合适的选择。

总结:在判断使用列表还是元组时,关键在于考虑数据是否需要经常被修改。如果数据需要频繁修改,使用列表;如果希望数据不被轻易改写,使用元组。对于4),虽然描述可能比较抽象,但实际上是在强调函数参数的不可变性,这种场景下使用元组是更好的选择。
页: [1]
查看完整版本: 【课后作业】013讲:以下情景中应该使用列表还是元组来保存数据: