Python 元组值列表中的非重复值列表在重复值上终止

Python 元组值列表中的非重复值列表在重复值上终止,python,list,tuples,Python,List,Tuples,元组列表p如下所示: p=[(0,2)、(2,6)、(6,7)、(7,3)、(3,7)、(7,6)、(6,4)、(4,5)、(5,4)、(4,1)、(1,4)、(4,6)、(6,2)] 如何仅返回发生一次的值,然后在出现重复时中断循环? 例如,这里我们返回list=0,2,6,7,3如果您需要的输出是list[0,2,6,7,3],那么您可以使用以下方法: p = [(0, 2), (2, 6), (6, 7), (7, 3), (3, 7), (7, 6), (6, 4), (4, 5), (

元组列表p如下所示: p=[(0,2)、(2,6)、(6,7)、(7,3)、(3,7)、(7,6)、(6,4)、(4,5)、(5,4)、(4,1)、(1,4)、(4,6)、(6,2)]

如何仅返回发生一次的值,然后在出现重复时中断循环?
例如,这里我们返回
list=0,2,6,7,3
如果您需要的输出是list
[0,2,6,7,3]
,那么您可以使用以下方法:

p = [(0, 2), (2, 6), (6, 7), (7, 3), (3, 7), (7, 6), (6, 4), (4, 5), (5, 4), (4, 1), (1, 4), (4, 6), (6, 2)]
present = {}
output = []

for x in p:
    output.append(x[0])

    if frozenset(x) in present:
        break
    else:
        present[frozenset(x)] = 0

print output
这将使用Python的
frozenset
作为字典键来确定您的一对数字是否已被看到,并中断循环

它将显示以下内容:

[0, 2, 6, 7, 3]
''' 如果所需的输出是列表[0、2、6、7、3],则可以使用以下方法:“”


因此,它不是一个代码编写服务。你应该提供你尝试过的东西,你在哪里卡住了等等。你真正想要的东西还不清楚。试着更好地解释这一点。另外,添加您的代码-您尝试了什么?我不理解您的问题,您的意思是如何使其成为一个函数吗?虽然此代码可能提供问题的解决方案,但最好添加上下文,说明其工作的原因/方式。这可以帮助未来的用户学习,并将这些知识应用到他们自己的代码中。在解释代码时,用户可能会以投票的形式向您提供正面反馈。
p = [(0, 2), (2, 6), (6, 7), (7, 3), (3, 7), (7, 6), (6, 4), (4, 5), (5, 4), 
    (4, 1), (1, 4), (4, 6), (6, 2)]
out_data = []
for i in p:
    if i[0] not in out_data:
        out_data.append(i[0])
    else:
        break
print(out_data)