Python - 元组列表中的交叉配对
当需要在元组列表中执行交叉配对时,将使用“zip”方法、列表推导式和“==”运算符。
示例
以下是相同的演示-
my_list_1 = [('Hi', 'Will'), ('Jack', 'Python'), ('Bill', 'Mills'), ('goodwill', 'Jill')] my_list_2 = [('Hi', 'Band'), ('Jack', 'width'), ('Bill', 'cool'), ('a', 'b')] print("第一个列表是: " ) print(my_list_1) print("第二个名单是:") print(my_list_2) my_list_1.sort() my_list_2.sort() print("排序后的第一个列表是 ") print(my_list_1) print("排序后的第二个列表是 ") print(my_list_2) my_result = [(a[1], b[1]) for a, b in zip(my_list_1, my_list_2) if a[0] == b[0]] print("结果列表是: ") print(my_result)输出结果
第一个列表是: [('Hi', 'Will'), ('Jack', 'Python'), ('Bill', 'Mills'), ('goodwill', 'Jill')] 第二个名单是: [('Hi', 'Band'), ('Jack', 'width'), ('Bill', 'cool'), ('a', 'b')] 排序后的第一个列表是 [('Bill', 'Mills'), ('Hi', 'Will'), ('Jack', 'Python'), ('goodwill', 'Jill')] 排序后的第二个列表是 [('Bill', 'cool'), ('Hi', 'Band'), ('Jack', 'width'), ('a', 'b')] 结果列表是: [('Mills', 'cool'), ('Will', 'Band'), ('Python', 'width')]
解释
定义了两个元组列表,并显示在控制台上。
这两个列表都按升序排序,并显示在控制台上。
两个元组列表被压缩和迭代。
这是使用列表理解完成的。
这里,比较两个列表的各个元素。
如果它们相等,则将它们存储在一个列表中并分配给一个变量。
这在控制台上显示为输出。