如何在 python 中的列表中引用具有特定值的条目

How to refence entries with a certain value within a list in python

我正在从数据库中获取数据并将其存储在一个名为 relays 的列表中。该列表目前看起来像这样:

 relay:  [(4, '26', '19'), (5, '13', '6')]

每个项目的第一个数字是我在整个代码中使用的 ID 号。后两个是数字 GPIO 引脚。

我想通过它的第一个数字引用列表项,例如变量[5][1] return 13。所以要打开这个 GPO pin,我可以 运行 类似于:

GPIO.output(variable[5][1], True)
GPIO.output(variable[4][2], True)

这可能吗? (对不起,如果这是一个愚蠢的问题,我是 python 的新手)

您可以在 python (dict)

中使用字典

像这样初始化它:

variable = {x[0]: x[1:] for x in relay}

请注意,要像您的示例一样访问 '13',您需要编写 variable[5][0]

您可以创建一个以元组的第一个值作为键,整个元组作为值的字典:

relay =  [(4, '26', '19'), (5, '13', '6')]

# desired = {4: (4, '26', '19'), 5: (5, '13', '6')} 

# dict with first tup val as key and the whole tup as val
variable = {x[0]: (x) for x in relay}  

print(variable)

# print the dict with key `5` and then the first (1) index val of tup
print(variable[5][1])

输出:

{4: (4, '26', '19'), 5: (5, '13', '6')}                                                                                                                                      
13