【发布时间】:2014-11-01 19:57:02
【问题描述】:
我在这里有一个 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[:]即可轻松保存前一个列表的副本,但是“比较”是什么意思?简单的平等比较? -
确实是对相等性的简单比较,然后,如果它们不相同,则对其进行操作,但我已经掌握了。谢谢你:)
-
Python 不需要临时变量来交换两个项目:
lst[j], lst[j+1] = lst[j+1], lst[j].
标签: python list for-loop compare iteration