【发布时间】:2016-04-20 02:58:41
【问题描述】:
我有以下代码可以从给定的输入中查找和打印所有对称对。
'''
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。这基本上是一组集合,这是不可能的(不可散列的)并且没有意义(过滤掉重复项)。
标签: python list iteration tuples python-2.x