我有一个问题,对我来说有点难以解释,因此我会用很多例子来帮助大家理解并看看能否帮助我。
假设我有两个列表,它们包含由两个人从最好到最差评价的书名。用户1评价了lstA
,用户2评价了lstB
lstA = ['Harry Potter','1984','50 Shades','Dracula']
lstB = ['50 Shades','Dracula','1984','Harry Potter']
用户一认为“哈利波特”比“德古拉”更好(HP的索引为0,德古拉的索引为3)
用户二认为“哈利波特”比“德古拉”更差(HP的索引为3,德古拉的索引为1)
在这种情况下,返回一个元组('Harry Potter', 'Dracula')
[('Dracula', 'Harry Potter')
也可以]
用户一还评价“五十度灰”比“德古拉”更好,用户二也评价“五十度灰”比“德古拉”更好(分别是索引2、3和0、1)。在这种情况下,什么也不会发生。
程序的最终结果应该返回一个元组列表,因此,
[('Harry Potter','50 Shades'), ('Harry Potter','Dracula'), ('Harry Potter','1984'), ('1984', '50 Shades'), ('1984','Dracula')]
有人能帮我指出正确的方向,提供一个可以得到所有元组的算法吗?