if __name__ == '__main__':
a = [9,6,5,4,1]
N = len(a)
print a
for i in range(len(a) / 2):
a[i],a[N - i - 1] = a[N - i - 1],a[i]
print a
a[i],a[N - i - 1] = a[N - i - 1],a[i]
這行怎么理解?
uj5u.com熱心網友回復:
回答前,先看看 a,b = b, a 這句話的意思,它是把兩個變數的值交換。看下面的代碼:
a, b = 2, 3
print("before: a = ", a, "b = ", b)
a, b = b, a
print("after: a = ", a, "b = ", b)
python 可以一次給幾個變數賦值。像上面的
a,b = 2, 3
一個陳述句給兩個變數賦值了。
a, b = b, a 就是把 a, b 的值交換
等同于 c/c++里:
temp = a;
a = b;
b = temp;
回到你的問題:
a[i],a[N - i - 1] = a[N - i - 1],a[i]
就是把陣列的第一個和最后一個交換,即 a[0] 和 a[N-1]交換
第二個和倒數第二個交換, 即 a[1]和a[N-2]交換,以此類推,直到中間的那個值。這樣就逆序了
uj5u.com熱心網友回復:
import numpy as np
a=np.array([9,4,5,4,1])
print(a,np.flip(a))
#out:[9 4 5 4 1] [1 4 5 4 9]
uj5u.com熱心網友回復:
if __name__ == '__main__':
x,y=1,2
x,y=y,x
print(x,y)#2 1
uj5u.com熱心網友回復:
簡單的把數值 對換而已轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/18246.html
上一篇:Sympy級數求和出錯
