所以说我有list1和list2。
list1 = [n1,n2,n3,n4,n5,n6,n7,n8,n9,n0,star,pound]
list2 = [1,2,3,4,5,6,7,8,9,0,star,pound]
如何编写一个函数,当调用列表1的元素时,调用list2中的相应元素?
这可能已在另一篇文章中得到解答,但我无法找到和/或了解如何执行此操作。
--- ---编辑
约翰科尔曼的评论回答了我的问题,但是为了帮助别人在将来阅读这篇文章,我会澄清一些事情。"调用"可能是错误的术语,我绝对是编程的新手。以下是我在这个帖子的帮助下使用代码的方法。
n1 = 5
n2 = 6
n3 = 13
n4 = 19
n5 = 26
n6 = 12
n7 = 16
n8 = 20
n9 = 12
n0 = 4
star = 17
pound = 27
inputs = [n1,n2,n3,n4,n5,n6,n7,n8,n9,n0,star,pound]
numbers = [1,2,3,4,5,6,7,8,9,0,star,pound]
shows = dict(zip(inputs,numbers))
count = 1
def loop2():
for input in inputs:
if GPIO.input(input) == False:
print '%s' % shows[input]
答案 0 :(得分:1)
您可以使用.index()
查找两个列表中某个列表的元素出现位置,然后将该索引提供给其他列表:
>>> list1 = ['n1','n2','n3','n4','n5','n6','n7','n8','n9','n0','star','pound']
>>> list2 = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'star', 'pound']
>>> list2[list1.index('n5')]
'5'
或者,您可以创建链接两个列表的字典:
>>> d = dict(zip(list1,list2))
>>> d['n5']
'5'
答案 1 :(得分:0)
如果你没有澄清你的意思,那么就没有多少可以回答" list2中的相应元素被称为",你的意思是函数调用还是什么?
无论如何,无论情况如何,您都需要在所需列表中定义两个项目之间的关系。在上面的示例中,我最好的猜测是list1
' s n1
- > list2
' s 1
或相应的索引。
您可以通过定义字典来实现此目的,例如
relate_dict = {"n{}".format(k):k for k in list2}
因此relate_dict[key1]
中key1
list1
的每个list2
将返回print
中的相应内容,即related_dict [' n1'] => ' 1'
如果是索引,只需使用zip