【发布时间】:2021-08-05 16:07:44
【问题描述】:
标题可能听起来有点怪,但情况并没有那么多。
我有一些清单。 在这里它们被初始化(全局变量):
sensor0, sensor1, sensor2, sensor3 = ([] for i in range(4))
现在我们有一个变量来指示我可以插入数据的列表。假设它是selector = 3。
这意味着我应该将我的值 append() 到 sensor3 列表中。
在 python 中最实用的方法是什么?
如果它是 C 风格的语言,我会使用 switch-case。
但是python中没有switch-case语法。当然我可以做多个ifs,但这似乎不是最好的方法。
我想知道,由于列表中只有一个字母每次都会更改,也许有更好的方法可以根据 selector 变量选择正确的列表到 append() 到。
【问题讨论】:
-
为什么不把它作为一个列表列表(
sensors = [[] for i in range(4)]),然后是sensors[selector].append(data)? -
...还是字典?
-
@Carcigenicate 谢谢!第一个命令是初始化吧?但是出现了一些问题,我想将所有这些列表作为全局变量传递给函数。我也可以用一个班轮做到这一点吗?
-
@user1584421 是的,第一位正在替换您的初始化。你可以让函数接受一个二维列表,或者做
your_func(*sensors)。*将内部列表解包到参数列表中(在这种情况下,函数需要接受四个参数)。 -
@AndrejKesely 不确定我是否理解....
标签: python-3.x list if-statement switch-statement conditional-statements