首页 > 解决方案 > 基于变量向特定列表添加值的最实用方法

问题描述

标题可能听起来有点奇怪,但情况并非如此。

我有一些清单。在这里它们被初始化(全局变量):

sensor0, sensor1, sensor2, sensor3 = ([] for i in range(4))

现在我们有一个变量来指示我可以插入数据的列表。假设它是selector = 3.

这意味着我应该将我的值附加()到sensor3列表中。

在 python 中执行此操作的最实用方法是什么?如果它是 C 风格的语言,我会使用switch-case.

但是switch-casepython中没有语法。当然我可以做多个ifs,但这似乎不是最好的方法。

我想知道,由于列表中只有一个字母每次都会更改,因此也许有更好的方法来append()根据selector变量选择正确的列表。

标签: python-3.xlistif-statementswitch-statementconditional-statements

解决方案


对于您的具体情况,请使用 eval

sensor0, sensor1, sensor2, sensor3 = ([] for i in range(4))
sensor3 = 20
selector =3 
result = eval("sensor"+str(selector))
print(result)

但使用列表可能是更好的选择。 使用列表

sensor = [[] for i in range(4)]
selector = 3
sensor[selector] = 20
print(sensor[selector])

推荐阅读