0
我有一个for循环,我在这里,它使用bubblesort排序字符串的列表,并在每次迭代列表有点改变...有没有办法比较前一次迭代与当前迭代的乘积?Python:for循环比较当前与以前的迭代
因为它只是打印每个迭代的产品。我需要一种方法来回拨先前的产品,后者将其与上一次迭代的产品进行比较。
lst = ["bubble", "bath", "with", "bacon"]
def bubble(lst):
unsorted = True
while unsorted:
unsorted = False
for j in range(len(lst) - 1):
if lst[j] > lst[j + 1]:
hold = lst[j + 1]
lst[j + 1] = lst[j]
lst[j] = hold
print(lst)
unsorted = True
感谢一帮家伙!
只需在for循环前添加'backup = lst [:]'',您就可以轻松保存前一个列表的副本,但是您的意思是“比较”是什么意思?简单的平等比较? – 2014-11-01 20:02:43
确实是一个简单的平等比较,后来,如果他们不一样,操纵他们,但我得到了覆盖。谢谢:) – user3256536 2014-11-01 20:11:13
Python不需要一个临时变量来交换两个项目:'lst [j],lst [j + 1] = lst [j + 1],lst [j]'。 – chepner 2014-11-01 20:48:10