RUNOOB python 67 数组的元素互换
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                RUNOOB python 67 数组的元素互换
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                用來(lái)練手的Python練習(xí)題,原題鏈接:python練習(xí)實(shí)例67
題干: 輸入數(shù)組,最大的與第一個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組
代碼如下:
import numpy as nptable = np.array([10,4,9,3,11,25,37,15,2,231,672,22]) #定義swap函數(shù)用于交換兩個(gè)變量的值 def swap(a,b):return b,a# 保存最大值 maxvalue = np.max(table) # 最大值處賦值為數(shù)組的第一個(gè)元素 table[np.argmax(table)] = table[0] # 賦值第一個(gè)元素為數(shù)組的最大值 table[0] = maxvalue # 最小的與最后一個(gè)元素交換 table[table.shape[0]-1], table[np.argmin(table)] = swap(table[table.shape[0]-1],table[np.argmin(table)]) print(table)輸出結(jié)果如下:
 
需要注意的是,上述代碼我們發(fā)現(xiàn),進(jìn)行兩個(gè)交換的時(shí)候并沒(méi)有使用同一種方式。在進(jìn)行最小的元素與最后一個(gè)元素交換操作時(shí),我們可以直接調(diào)用swap函數(shù),而在交換最大值和數(shù)組第一個(gè)元素時(shí),我們使用了一個(gè)中間值,maxvalue。那么如果都使用swap方法會(huì)怎么樣呢,代碼如下:
table[0],table[np.argmax(table)] = swap(table[0],table[np.argmax(table)]) print(table[0]) table[table.shape[0]-1], table[np.argmin(table)] = swap(table[table.shape[0]-1],table[np.argmin(table)]) print(table)輸出結(jié)果如下:
 
 我們發(fā)現(xiàn),當(dāng)我們想將最大值和數(shù)組第一個(gè)元素交換位置時(shí),使用swap函數(shù)并不能滿足我們的需求,但交換最小值和數(shù)組最后一位元素是可以實(shí)現(xiàn)的。
總結(jié)
以上是生活随笔為你收集整理的RUNOOB python 67 数组的元素互换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: Python打印杨辉三角形 RUNOOB
 - 下一篇: 数组元素前移后移 RUNOOB pyth