如何在Python中有效地浏览一组数字?

时间:2018-03-23 16:01:24

标签: python arrays performance analysis space-efficiency

我正在尝试制作一种更有效的方法来查找数字数组,并查找缺少的数字。我有一系列从1到20的数字,但有一个缺失,这些数字没有按时间顺序排序(它们被重新洗牌)

array = [16, 11, 4, 6, 14, 8, 5, 13, 10, 2, 9, 15, 3, 18, 20, 12, 19, 7, 1]

我想到的方法是:

for x in range(1, len(array) + 1):
    if x not in array:
        print(x)

这种方法的问题在于速度慢且效率低,如果我需要分析一个非常大的数组(有数千个数字),则需要很长时间。

1 个答案:

答案 0 :(得分:3)

您可以找到set.difference

>>> set(range(1, 21)).difference(array)
{17}