我有一张桌子,里面有:
table = [[1, 'FANTASTIC FOUR', 'EXOTIC SPACE'],[4, 'CRIMSON PEAK', 'MINIONS','SUPERMAN'],[20, 'FANTASTIC FOUR', 'EXOTIC SPACE']]
我正在编写一个python函数遍历整个表,查找字符串元素中的相似之处,并以如下格式打印出来:
Movie: FANTASTIC FOUR, EXOTIC SPACE
UserID: 1,20 #since user 1 and user 20 both watch exactly the same movie
我试过写:
i = 0
while i<len(table)-1:
g = table[i][1:]
if g == table[i+1][1:]:
print(table[i][0],table[i+1][0])
i+=1
但效果不太好。我不太擅长使用while循环来打印,所以我会很感激在这方面的帮助。你知道吗
Python中的循环通常不太使用
i
。试试这个:输出:
这里有一个使用
itertool.combinations
和字典的解决方案。你知道吗对字典键使用集合或frozensets是最好的选择,因为无论是查找
(1, 20)
还是(20, 1)
,您都希望得到相同的结果。你知道吗反转此映射也很简单:
您可以使用字典获取从
table
观看相同电影的用户输出:
相关问题 更多 >
编程相关推荐