给出一个列表和列表中的某值,根据列表各元素到该值的距离进行升序排序
示例:lis = [1,2,3,4,5,6,7,8,9]
x = 6
输出:[6,5,7,4,8,3,9,2,1]
实现代码如下:
lis = [1,2,3,4,5,6,7,8,9]
x = 6
new_lis = []
lis1 = []
lis2 = []
ind = lis.index(x)
lis1 = lis[:ind]
lis2 = lis[ind:]
while lis1 or lis2:
if lis2:
#将后面部分进行左弹出
new_lis.append(lis2.pop(0))
if lis1:
#将前面部分进行右弹出
new_lis.append(lis1.pop())
print(new_lis)