我有一個從0到x的數字列表(假設爲list_num = []
)。它可能不包含0和x之間的所有數字(即跳過4和7),但我不知道。從數字列表中獲取下一個數字
我想從列表中得到第一個缺失的數字,如果沒有缺失,我想在得到下一個數字後(類似於:len(list_num)
< - no +1,因爲列表從0開始)。
我如何能做到這一點的Python 3?我不介意使用一些API。
我有一個從0到x的數字列表(假設爲list_num = []
)。它可能不包含0和x之間的所有數字(即跳過4和7),但我不知道。從數字列表中獲取下一個數字
我想從列表中得到第一個缺失的數字,如果沒有缺失,我想在得到下一個數字後(類似於:len(list_num)
< - no +1,因爲列表從0開始)。
我如何能做到這一點的Python 3?我不介意使用一些API。
獲取與條件匹配的第一個項目。如果沒有,你需要x+1
try:
first_value = next(val for val in range(x) if val not in list_sum)
except StopIteration:
first_value = x+1
謝謝。這很簡單和簡短 – Sank6
您可以用集可以:
>>> lst = set([1,2,3,4,5,9,11,14])
>>> set(range(0, max(lst))).difference(lst)
{0, 6, 7, 8, 10, 12, 13}
或列表解析:
>>> lst = set([1,2,3,4,5,9,11,14])
>>> allNumbers = list(range(0, max(lst)))
>>> [x for x in allNumbers if x not in lst]
[0, 6, 7, 8, 10, 12, 13]
我能問爲什麼這是downvoted? – Sank6
你沒有努力。顯示你已經嘗試了什麼,以及你卡在哪裏。 – JJJ
這可以使用簡單的'for'循環完成。付出一些努力? – aaron