查看列表中连续的一对元素,如果它们顺序混乱则交换它们(可能多次交换一个数字)。
我曾尝试用于循环等,但无法解决问题。
已删除
我需要使用函数而不是任何python库。我可以使用一个(已经有!)解决这个问题,但是我需要使用低级的初学者方法。
ex:bubble([2,1,4,3])== [1,2,3,4]
答案 0 :(得分:0)
您可以使用元素的索引来交换它们:
def swap(seq, idx, jdx):
"""swaps the two elements of the sequence, identified by their indices
in-place, mutates seq
return: None
"""
seq[idx], seq[jdx] = seq[jdx], seq[idx]
一个交换值的衬里在右侧创建一个值的元组,并在左侧解压缩(将每个值分配给一个变量)。
答案 1 :(得分:0)
value_list =[4,3,2,1]
for a in range(len(value_list)):
for b in range(len(value_list)):
if value_list[b] > value_list[a]:
value_list[b],value_list[a]=value_list[a],value_list[b]
print(value_list)
您可以在以下函数中使用它:
value_list =[4,3,2,1]
def sort_list(given_list):
for a in range(len(given_list)):
for b in range(len(given_list)):
if given_list[b] > given_list[a]:
given_list[b],given_list[a]=given_list[a],given_list[b]
return given_list
print(sort_list(value_list))