对称对我有下面的代码,以查找和打印从给定输入的所有对称对。查找蟒蛇
'''
Given a list of number pairs.
If pair(i,j) exist, and pair(j,i) exist report all such pairs.
'''
def find_all_symmetric_pairs(inp_dic):
for key in inp_dic:
val = inp_dic[key]
if inp_dic[val] == key:
return key,val
return -1,-1
inp_dic = {'1':'3','2':'6','3':'5','7':'4','5':'3','8':'7'}
print type(inp_dic)
key,value = find_all_symmetric_pairs(inp_dic)
print "key:"+str(key)
print "value:"+str(value)
输出:
key:3
value:5
但是,如果我改变输入到
inp_dic = {(1,3),(2,6),(3,5),(7,4),(5,3),(8,7)}
或
inp_dic = {{1,3},{2,6},{3,5},{7,4},{5,3},{8,7}}
我有困难的迭代。我如何实现相同?
显示你的错误。它几乎告诉你到底是什么问题。 –
'or'后面的输入是无效的Python。这基本上是一组集合,这是不可能的(不可哈),没有意义(重复过滤出来)。 –