Python 比较两个不同文件中的两个元组

Python 比较两个不同文件中的两个元组,python,tuples,Python,Tuples,我有两个文本文件包含元组。我正在尝试将每一行与ID基本匹配,第一个元素是ID。数据如下所示: Input_file_1.txt: ('126871', 'footest', 'lolo') ('193590', 'nono', 'koko') Input_file_2.txt: ('126871', 'mmomo', 'qqlqlqlq') ('193591', 'Severfdfae', 'cofade complet ') Result_file.txt ('126871',

我有两个文本文件包含元组。我正在尝试将每一行与ID基本匹配,第一个元素是ID。数据如下所示:

Input_file_1.txt: 
('126871', 'footest', 'lolo')
('193590', 'nono', 'koko')


Input_file_2.txt: 
('126871', 'mmomo', 'qqlqlqlq')
('193591', 'Severfdfae', 'cofade complet ')



Result_file.txt
('126871', 'mmomo', 'qqlqlqlq')

第一个问题是如何比较两个元组。如有任何建议或代码示例,将不胜感激。谢谢。

要读取文件,您可以执行以下操作:

with open('Input_file_1.txt', 'r') as myfile1:
    tuples1 = myfile1.readlines()

with open('Input_file_2.txt', 'r') as myfile2:
    tuples2 = myfile2.readlines()
但由于这些返回字符串,您必须调用ast.literal_eval将其转换为元组:

import ast
tuples1 = map(ast.literal_eval, tuples1)
tuples2 = map(ast.literal_eval, tuples2)
然后简单地说:

for tuple2 in tuples2:
    for tuple1 in tuples1:
        if tuple1[0] == tuple2[0]:
            print tuple2
其中打印:

('126871', 'mmomo', 'qqlqlqlq')

你试过什么吗?是的,问题更新。它将包含多少元组?只有两个,或者更多?更多,我已经逐行阅读了。你能解释代码的第二部分吗:mapast.literal\u eval,tuples1,以及你在for循环中完成第三部分for循环的方式。再多说几句话就真的很有帮助了。Thank.mapast.literal_eval,tuples1与[tuples1中i的ast.literal_evali]@user2412714 for循环相同吗?我们循环遍历所有元组,如果ID与另一个元组中的ID匹配,则打印它匹配的元组