如何在 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
我正在从数据库中获取数据并将其存储在一个名为 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