python - 同质数据常量列表

标签 python

如何定义命名元组常量列表?我希望在模块中定义类似的东西,并在我的代码中使用它。例如,当我只对成人感兴趣时,我会对其使用过滤器。

但是,我不希望其他编码人员能够破坏这些数据,如果我使用列表,他们就可以这样做。我意识到我可以使用元组,但我的理解是,有一个事实上的标准,即元组用于异构数据,而我实际上拥有同质数据:

http://jtauber.com/blog/2006/04/15/python_tuples_are_not_just_constant_lists/

如果我正确理解了这篇文章。

human_map = [
   Activity(ADULT, EATING, OFTEN, 5),
   Activity(ADULT, SLEEPING, PERIODIC, 24),
   Activity(BABY, CRYING, OFTEN, 1)]

最佳答案

列表和元组可以用于异构数据,但在Python中将它们用于同质数据没有任何问题。

其他语言提供的基本集合(例如 C/C++ 中的数组)只能保存同类数据;更复杂的集合必须用于异构数据,在这些语言中,最佳实践是使用更有效的数组来处理同质数据,而不是产生更奇特的集合类型的开销。但这种逻辑不适适用于 Python。

关于python - 同质数据常量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25885504/

相关文章:

python - 仅当 python 中两行之间存在差异时才对 Pandas.DataFrame 对象进行子集化

python 绳 : How to Find all missing imports and errors in all sub modules refactoring

python - 如何通过id抓取文本

Python 错误 "import: unable to open X server"

Python:我的带有五个进程的 python 程序使用了多少个内核?

python - 如何创建 Python 鸡蛋文件

python - Pandas 时间序列数据第一次匹配后忽略 np.where

python - 如何使用python ssl模块获取证书的签名 key 长度

python系列在data frame错误中有歧义

Python 在使用 etree 时不编辑 XML