Python 3.x 执行时间映射()与列表理解

Python 3.x 执行时间映射()与列表理解,python-3.x,python-internals,Python 3.x,Python Internals,我遇到了一个关于黑客等级的挑战,其中一个应该根据两个输入数组计算快乐水平。为了阅读这些内容,我尝试了以下方法: arr = list(map(int, input().split())) A = list(map(int, input().split())) B = list(map(int, input().split())) 这段代码和随后的代码通过了一些测试,但不是全部,因为它超过了时间限制。读取不超过时间限制的值的另一种方法是列表理解: arr = [int(x) for x in i

我遇到了一个关于黑客等级的挑战,其中一个应该根据两个输入数组计算快乐水平。为了阅读这些内容,我尝试了以下方法:

arr = list(map(int, input().split()))
A = list(map(int, input().split()))
B = list(map(int, input().split()))
这段代码和随后的代码通过了一些测试,但不是全部,因为它超过了时间限制。读取不超过时间限制的值的另一种方法是列表理解:

arr = [int(x) for x in input().split()]
A = set([int(y) for y in input().split()])
B = set([int(z) for z in input().split()])
我现在的问题是:内部发生了什么,为什么一个比另一个快? 链接到HackerRank Challange: