目前,我有以下间隔:
temp_tuple = [[-25, -14], [-21, -16], [-20, -15], [-10, -7], [-8, -5], [-6, -3], [2, 4], [2, 3], [3, 6], [12, 15], [13, 18], [14, 17], [22, 27], [25, 30], [26, 29]]
Run Code Online (Sandbox Code Playgroud)
按下限按升序排列.我的任务是合并重叠的间隔,以便结果出现:
[-25, -14]
[-10, -3]
[2, 6]
[12, 18]
[22, 30]
Run Code Online (Sandbox Code Playgroud)
我的第一次尝试涉及删除完全在先前间隔内的间隔,例如[-21,-16],其落在[-25,-14]内.但是删除列表中的对象会干扰循环条件.我第二次尝试删除不必要的间隔是:
i = 0
j = 1
while i < len(temp_tuples):
while j < len(temp_tuples):
if temp_tuples[i][1] > temp_tuples[j][1]:
del temp_tuples[j]
j += 1
i += 1
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,这并没有删除所有不必要的间隔.我该怎么办?
目前,我有这个代码:
for i in range(lower_limit, upper_limit+1):
for j in range(0,len(prime_number)):
for k in range(0 + j,len(prime_number)):
if i == prime_number[j] + prime_number[k] and i % 2 == 0:
print(i, "=", prime_number[j], "+", prime_number[k])
Run Code Online (Sandbox Code Playgroud)
打印:
10 = 3 + 7 10 = 5 + 5 12 = 5 + 7 14 = 3 + 11 14 = 7 + 7
我需要的结果如下:
10 = 3 + 7 = 5 + 5 12 = 5 + 7 14 = 3 + 11 = …
python ×2