Python数字列表按范围汇总
我有一个数字列表,我想打印一个列表,将它们汇总到各个范围。比如说 输入Python数字列表按范围汇总,python,python-3.x,list,Python,Python 3.x,List,我有一个数字列表,我想打印一个列表,将它们汇总到各个范围。比如说 输入 number\u list=[1,2,3,5,7,9,10,11] 输出 ['1到3',5,7,'9到11'] 我的方法- temp_list = [] final_list = [] number_list = [1,2,3,5,7,9,10,11] for i in range(len(number_list)): if number_list[i-1] not in temp_list or i == 0:
number\u list=[1,2,3,5,7,9,10,11]
输出
['1到3',5,7,'9到11']
我的方法-
temp_list = []
final_list = []
number_list = [1,2,3,5,7,9,10,11]
for i in range(len(number_list)):
if number_list[i-1] not in temp_list or i == 0:
temp_list.append(number_list[i])
else:
if number_list[i] - number_list[previous_i] != 1:
temp_list.append(previous_item)
if temp_list[0] != temp_list[1]:
final_list.append(f'{temp_list[0]} to {temp_list[1]}')
else:
final_list.append(temp_list[0])
temp_list = []
else:
final_list.append(number_list[i])
previous_item = number_list[i]
previous_i = i
print (final_list)
# O/P : [2, '1 to 3', 7, 11] which should be ['1 to 3',5,7,'9 to 11']
但我仍然没有得到我想要的输出。任何帮助都将不胜感激 您可以使用:
输出:
['1 to 3', 5, 7, '9 to 11']
谢谢然而9似乎出现了两次@TanishqChaudhary现在检查我的答案
['1 to 3', 5, 7, '9 to 11']