请回答下列问题:
def data_sort(lst):
for i in range(n- 1):
for j in range(n- 1,i,- 1):
if lst [j][2]< lst [j- 1][2]:
lst [j], lst [j- 1]= lst [j- 1], lst [j]
lst[i][0]=i+1
return lst
执行上述代码后, (填写:能/不能)正确得到如图 a-2 中的数据。
def pack(k): #对品种 k已送达待打包的物品按重量由大到小输出
#部分代码略
p=b[k][1]
num+= 1
print("第"+str(num)+"个包裹中品种为"+str(k)+" ,各物品的序号依次是:",end=" ")
while p!=- 1:
print(data[p][0],end=",")
p=x[p]
print()
'''
合并后排序得到 n 件物品的数据存储在数组 data 中并输出,包裹最大承受最大重量为 m 千克。 物品品种的数量是 sn ,代码略
'''
b=[[0,- 1] for i in range(sn)]
x=[- 1 for i in range(n)]
num=0
for i in range(n):
k=data[i][1]
if b[k][0]+data[i][4]>m :
pack(k)
b[k]=[0,- 1]
p=
if p==- 1:
b[k][1]=i
else:
if data[i][4]>data[p][4]:
b[k][1]=i
else:
q=- 1
while :
q=p
p=x[p]
x[q]=i
x[i]=p
b[k][0]+=data[i][4]
#重量不足 m 的品种,按各品种依次装入包裹
for i in range(sn):
if b[i][1]!=- 1:
pack(i)