小編給大家分享一下python如何從list列表中選出一個(gè)數(shù)和其對(duì)應(yīng)的坐標(biāo),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
堅(jiān)守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都辦公空間設(shè)計(jì)小微創(chuàng)業(yè)公司專業(yè)提供企業(yè)網(wǎng)站設(shè)計(jì)營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。例1:給一個(gè)列表如下,里面每個(gè)元素對(duì)應(yīng)的是x和y的值
a = [[5,2],[6,3],[8,8],[1,3]]
現(xiàn)在要挑出y的值為3對(duì)應(yīng)的x的值,即6和1
import numpy as np a = [[5,2],[6,3],[8,8],[1,3]] #c=np.mat(a),因?yàn)橹挥芯仃嚕ㄒ部梢杂胊rray)才能用a[0,0]這樣的調(diào)用 #表示第一個(gè)數(shù)的用法而list沒有,故在最后append需要用到 #注意:array也沒有index這樣的用法(只有l(wèi)ist有,此題a已經(jīng)是list), #使用index要改成list c = np.mat(a) b = [] for i in range(len(a)): try: #使用try...except...是因?yàn)楸热?不在第一個(gè)[5,2]中會(huì)報(bào)錯(cuò)并終止運(yùn)行 b_index = a[i].index(3) #使用index尋找3所在的索引值 except: pass #pass表示如果報(bào)錯(cuò)那么跳過并繼續(xù)下一個(gè) else: #如果沒有報(bào)錯(cuò)則進(jìn)行else內(nèi)容 b.append(c[i,0]) print(b) #結(jié)果為 [6,1]
或者使用簡單的如下:
a = [[5,2],[6,3],[8,8],[1,3]] x = [i for i in a if 3 in i] print(x)
例2:
已知一系列坐標(biāo)(x,y,z,h)分別對(duì)應(yīng)橫坐標(biāo)縱坐標(biāo)z坐標(biāo)和高,現(xiàn)在要在x-y平面畫出h=0.00221圖(實(shí)際上就是等高線圖)
h保留5位小數(shù)。
上面只展示了一小部分?jǐn)?shù)據(jù)
1,導(dǎo)入數(shù)據(jù)
import matplotlib.pyplot as plt import numpy as np data = np.loadtxt(r'/media/sf_Share/fisher_matrix/myLSPE/data/41+95+150/r_0.01/sigma_F_0.1/sigma_F=0.1/threefre.txt')
2,將第四列即h保留5位小數(shù)
for i in range(len(data)): data[i,3] = float('%.5f'%data[i,3])
3,將h=0.00211對(duì)應(yīng)的x,y坐標(biāo)找到并保存到x_mat和y_mat中
x_mat = [] y_mat = [] for i in range(len(data)): try: data_index = list(data[i]).index(0.00211) except: pass else: x_mat.append(data[i,0]) y_mat.append(data[i,1])
4,畫散點(diǎn)圖
plt.scatter(x_mat,y_mat) plt.show()
結(jié)果如下:
完整代碼:
import matplotlib.pyplot as plt import numpy as np data = np.loadtxt(r'/media/sf_Share/fisher_matrix/myLSPE/data/41+95+150/r_0.01/sigma_F_0.1/sigma_F=0.1/threefre.txt') for i in range(len(data)): data[i,3] = float('%.5f'%data[i,3]) #data_list = list(data) x_mat = [] y_mat = [] for i in range(len(data)): try: data_index = list(data[i]).index(0.00211) except: pass else: x_mat.append(data[i,0]) y_mat.append(data[i,1]) plt.scatter(x_mat,y_mat) plt.show()
看完了這篇文章,相信你對(duì)“python如何從list列表中選出一個(gè)數(shù)和其對(duì)應(yīng)的坐標(biāo)”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。