假设有一个列表:
x = [(3, 8), (2, 9), (1, 10), (0, 11)]
每个元组的元素都是唯一的(例如:值3
不会出现在x
中的任何其他元组中。
我想定义一个函数,该函数返回给定另一个伙伴的一个元组的伙伴。例如:
>>> r = find_partner_of(2); print(r)
9
>>> r = find_partner_of(10); print(r)
1
我的第一次尝试就像dict
一样:
x = {3:8, 2:9, 1:10, 0:11, 8:3, 9:2, 10:1, 11:0}
但数据量很大,所以我认为一个简单的函数可能是最好的方法。
感谢您的回答。因此,dict
可能比(?):
def find_partner(lst, value):
for tpl in lst:
if value in tpl:
if tpl[0] == value:
return tpl[1]
else:
return tpl[0]
答案 0 :(得分:1)
实际上,字典就是为了这个目的而设计的。首先在" forward"中创建字典。方向,然后添加"向后"
partner = {item[0]: item[1] for item in x}
partner.update( {item[1]: item[0] for item in x} )
现在,您的功能仅仅是一个字典查找。以下是合作伙伴在每个步骤后的显示方式:
{0: 11, 1: 10, 2: 9, 3: 8}
{0: 11, 1: 10, 2: 9, 3: 8, 8: 3, 9: 2, 10: 1, 11: 0}
答案 1 :(得分:1)
尝试使用dict,但如果你真的想要这个功能:
System.out.println("Ending balance: $ "+(b+sumd-sumw+sumi));