[英]Swap elements python
查看列表中連續的一對元素,如果它們無序則交換它們(可能交換一個數字不止一次)。
我曾嘗試使用 for 循環等,但無法解決問題。
已刪除
我需要使用函數而不是任何 python 庫。 我可以使用一個(已經有!)解決這個問題,但我需要使用低級初學者方法。
例如:氣泡([2,1,4,3])==[1,2,3,4]
您可以使用元素的索引來交換它們:
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]
交換值的一個 liner 在右側創建一個值元組,並在左側解包(將每個值分配給一個變量)。
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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.