簡體   English   中英

我們可以在python中定義具有多個索引的變量嗎?

[英]can we define a variable with multi indices in python?

我被迫在部分代碼中使用python。 我在模型中編碼了ampl,但是現在我需要使用python查找數組的最大值。

這是我在AMPL中擁有的,我想知道我在python中是否可以具有相同的索引?

我有一些來自家庭和成員的信息。 對於每個家庭中的每個人,我都有一些用途,我想找到最大的用途。

我在集合E上有參數U,用於實用程序

             set E ,within F cross N;
              param U{E};

因此,U有2個索引U [f,i],F顯示家庭,我確定人。

例如,在第4個家庭中,第二人稱具有以下實用程序:

  U[4,2]=5
  U[4,2]=6
  U[4,2]=7

在第三家庭中,第一人稱具有這些效用

  U[3,1]=8
  U[3,1]=9
  U[3,1]=1

讓我們通過MU顯示max實用程序,作為輸出

  MU[4,2]=7
  MU[3,1]=9

有什么辦法可以在python中找到這個MU嗎?

您可以在python使用dictionary來完成此任務。 效用值可以表示為屬於一個特定家庭和一個人的效用值list 家庭和一個人可以表示為字典的keys

from collections import defaultdict

df = defaultdict(list)

df[4, 2] = [5, 6, 7]
df[3, 1] = [8, 9, 1]


for key in df.keys():
    maximum = 0
    for value in df[key]:
        if value > maximum:
            maximum = value
            max_keys = key

    print("(Family, Person) = ", key, "Max of Utility = ", maximum)

代碼的輸出將是

(Family, Person) =  (4, 2) Max of Utility =  7
(Family, Person) =  (3, 1) Max of Utility =  9

暫無
暫無

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

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