簡體   English   中英

從列表中減去值,收到“生成器對象不可下標”錯誤

[英]Subtracting values from lists, received "generator object is not subscriptable" error

我試圖從彼此中減去兩個列表的值。 像這樣:

    a = [1,2,3,4,5] b = [1,2,3,4,5] 
    a - b = [0,0,0,0,0] 

但是,我嘗試執行的循環不斷給我“生成器對象不可下標”,並引用了我的代碼的這一部分:

      distances_1 = [a[z] - b[z] for z in x]

我的樣本數據在每個文件的維度上都不同; 不過,這是一個示例:

    x = [1.2323 2.5689] y = [2.3565 3.58789]

這是我的代碼示例:

    def distances_z(x,y):
    dct = {}
    for i in y:
        a = (i.split(' ',)[0] for i in y)
        for z in x:
            b = (z.split(' ',1)[0] for z in x)
            distances_1 = [a[z] - b[z] for z in x]
            return distances_1
        dct[i +"_"+"list"] = [distances_1]
    print(dct)
    return dct

我認為這是我ab變量未被識別為整數的問題。 我嘗試使用float()將它們轉換為浮點數,但它不起作用。

試試這個

a = [1,2,3,4,5] 
b = [1,2,3,4,5] 
c = [x[0] - x[1] for x in zip(a,b)]

給出輸出

[0, 0, 0, 0, 0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM