第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何更新多個(gè)for循環(huán)中的列表?

如何更新多個(gè)for循環(huán)中的列表?

我想制作一個(gè)類似網(wǎng)格的結(jié)構(gòu),并愿意檢查地理點(diǎn)是否位于單元格中?我有坐標(biāo)元組作為如下所示的元組,我有其他坐標(biāo)作為列表的列表,其中還包含一些坐標(biāo),每個(gè)子列表中有不同數(shù)量的坐標(biāo)。我想用元組中的地理坐標(biāo)檢查坐標(biāo)內(nèi)子列表的每個(gè)坐標(biāo)。因此,我想要一個(gè)值為 1 或 0(基于給定條件)的坐標(biāo)子列表的元組大小列表。如果坐標(biāo)的子列表的坐標(biāo)在data1的坐標(biāo)范圍內(nèi),則寫1否則為0。如果我從坐標(biāo)的子列表中選擇一個(gè)地理點(diǎn) (6.8, 51.35),我將檢查它的每個(gè)元組的地理坐標(biāo),例如 a=(x,y) 將其修改為 (z=x+0.49, p=y+0.49) , 0.49 因?yàn)閱卧耖g隙是 0.05,然后將值 (6.8, 51.35) 與范圍 (a,b) & (z,p) 進(jìn)行比較,將值 (x,y) 替換為 1 否則為 0。Tuple = ((6.8, 51.35), (6.85, 51.4), (6.9, 51.45), (6.95, 51.5), (7.0, 51.55), (7.05, 51.6), (7.1, 51.65), (7.15, 51.7), (7.2, 51.75), (7.25, 51.8), (7.3, 51.85), (7.35, 51.9), (7.4, 51.95), (7.45, 52.0), (7.5, 52.05), (7.55, 52.1), (7.6, 52.15), (7.65, 52.2), (7.7, 52.25), (7.75, 52.3), (7.8, 52.35), (7.85, 52.4), (7.9, 52.45), (7.95, 52.5), (8.0, 52.55), (8.05, 52.6), (8.1, 52.65), (8.15, 52.7), (8.2, 52.75), (8.25, 52.8), (8.3, 52.85), (8.35, 52.9), (8.4, 52.95), (8.45, 53.0), (8.5, 53.05), (8.55, 53.1), (8.6, 53.15), (8.65, 53.2), (8.7, 53.25), (8.75, 53.3), (8.8, 53.35), (8.85, 53.4), (8.9, 53.45), (8.95, 53.5), (9.0, 53.55), (9.05, 53.6), (9.1, 53.65), (9.15, 53.7), (9.2, 53.75), (9.25, 53.8), (9.3, 53.85), (9.35, 53.9), (9.4, 53.95), (9.45, 54.0), (9.5, 54.05), (9.55, 54.1), (9.6, 54.15), (9.65, 54.2), (9.7, 54.25), (9.75, 54.3), (9.8, 54.35), (9.85, 54.4), (9.9, 54.45))coordinate = [[('9.72', '52.33071'), ('9.72005', '52.3306')],[('9.7909166', '52.353843'), ('9.7907', '52.35399'), ('9.7904', '52.35417'), ('9.7897', '52.35454'), ('9.7891696', '52.354815')]]我寫的代碼是for i in range(0,2):    list=[]    point=cordinate[i]    y=len(cordinate[i])    print(y)    for j in range(0,y):       l=float(point[j][0])       m=float(point[j][1])       #list=[]       for k in range(0,len(Tuple)):           x=Tuple[k][0]           y=Tuple[k][1]           gap = 0.049           if (x < l < x + gap) and (y < m < y + gap):               value = 1           else:               value = 0           list.append(value)   print(list)
查看完整描述

2 回答

?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

你有三個(gè)問題。前兩個(gè)是相關(guān)的:Vic指出無論內(nèi)部if是否為True. 為了簡(jiǎn)化檢查,請(qǐng)升級(jí)您的間隙檢查代碼


gap = 0.049

if (x < l < x + gap) and \

   (y < m < y + gap):

    value = 1

else:

    value = 0


list.append(value)

這也解決了你的第二個(gè)問題:在“找到”的情況下,你會(huì)附加value兩次:一次在 里面if,一次在之后。


另外,請(qǐng)注意,您可以將該支票減少為一項(xiàng)較長(zhǎng)的項(xiàng)目:


list.append(int((x < l < x + gap) and (y < m < y + gap)))

最后,您有一個(gè)問題,即您的數(shù)據(jù)不會(huì)1按設(shè)計(jì)產(chǎn)生任何值。您已經(jīng)定義了一系列對(duì)角線單元格。第一個(gè)具有 (6.8, 51.35) 和 (6.849, 51.399) 的對(duì)角線;下一個(gè)在第二個(gè)角落開始并沿著網(wǎng)格的對(duì)角線繼續(xù)。


中的點(diǎn)coordinate不屬于任何這些單元格。例如,第一點(diǎn)是


(9.72, 52.33071)

Tuple包含x坐標(biāo)的網(wǎng)格 ( ) 點(diǎn)是


(9.7, 54.25), (9.75, 54.3)

但是所需的y坐標(biāo)比該點(diǎn)高近兩個(gè)單位(40 步)。因此,該點(diǎn)沒有匹配的單元格。其他坐標(biāo)點(diǎn)也有同樣的問題。您根本沒有任何符合條件的數(shù)據(jù)點(diǎn),因此您的輸出列表將全部為零。


您的數(shù)據(jù)或問題描述似乎有誤。


查看完整回答
反對(duì) 回復(fù) 2021-11-02
?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊

Gautam 我同意上面關(guān)于 MCVE 提交的評(píng)論。根據(jù)您發(fā)布的代碼,您可能想要查看的一個(gè)地方是您的 4 參數(shù) if 語句:


    if l>x and l<z:

      if m>y and m<p:

        value=1

    else : value = 0

您可能會(huì)從此代碼中獲得不需要的輸出,因?yàn)槟?else 語句每次迭代都會(huì)執(zhí)行。


查看完整回答
反對(duì) 回復(fù) 2021-11-02
  • 2 回答
  • 0 關(guān)注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)