Python 是否有方法将属性链接到数组坐标

Python 是否有方法将属性链接到数组坐标,python,numpy,Python,Numpy,创建10x10坐标网格 #10x10x10 x = np.arange(0,10) y = np.arange(0,10) z = np.arange(0,10) coordinates= [] #makes coordinates for the 10x10x10 for i in range(len(x)): for j in range(len(y)): for k in range(len(z)): coordinates.append

创建10x10坐标网格

#10x10x10
x = np.arange(0,10)
y = np.arange(0,10)
z = np.arange(0,10)

coordinates= []

#makes coordinates for the 10x10x10
for i in range(len(x)):
    for j in range(len(y)):
        for k in range(len(z)):
            coordinates.append((x[i], y[j], z[k]))
这是我的代码,它的坐标是(0,0,0),(0,0,1)。。。至(9,9,9)


我希望能够将每个坐标视为具有信息的对象。例如,(0,0,0)有1个苹果,2个桔子,3个柠檬。(0,0,1)有1个苹果,0个橙子,0个柠檬,依此类推。有没有办法存储链接到每个坐标的信息?

您可以使用坐标创建一个字典,并使用所需信息将每个条目创建为一个字典:

#10x10x10
x = np.arange(0,10)
y = np.arange(0,10)
z = np.arange(0,10)

coordinates = {}
#makes coordinates for the 10x10x10
for i in range(len(x)):
    for j in range(len(y)):
        for k in range(len(z)):
            obj_in_coord = {
                'apples': 4,
                'oranges': 2,
                'lemons': 6
            }
            coordinates[(x[i], y[j], z[k])] = obj_in_coord
print coordinates[(2,3,7)]['apples']  # outputs 4
当然,如果你像这样离开它,每个坐标将有4个苹果,2个桔子和6个柠檬。您应该在创建
obj\u in\u-coord
时应用您的逻辑

要使用整数访问信息,只需将obj_in_coord更改为列表:

#10x10x10
x = np.arange(0,10)
y = np.arange(0,10)
z = np.arange(0,10)

coordinates = {}
#makes coordinates for the 10x10x10
for i in range(len(x)):
    for j in range(len(y)):
        for k in range(len(z)):
            info_in_coord = [4, 2, 6]
            coordinates[(x[i], y[j], z[k])] = info_in_coord
print coordinates[(2,3,7)][0]  # outputs 4

您可以使用坐标创建字典,并使用所需信息将每个条目制作成字典:

#10x10x10
x = np.arange(0,10)
y = np.arange(0,10)
z = np.arange(0,10)

coordinates = {}
#makes coordinates for the 10x10x10
for i in range(len(x)):
    for j in range(len(y)):
        for k in range(len(z)):
            obj_in_coord = {
                'apples': 4,
                'oranges': 2,
                'lemons': 6
            }
            coordinates[(x[i], y[j], z[k])] = obj_in_coord
print coordinates[(2,3,7)]['apples']  # outputs 4
当然,如果你像这样离开它,每个坐标将有4个苹果,2个桔子和6个柠檬。您应该在创建
obj\u in\u-coord
时应用您的逻辑

要使用整数访问信息,只需将obj_in_coord更改为列表:

#10x10x10
x = np.arange(0,10)
y = np.arange(0,10)
z = np.arange(0,10)

coordinates = {}
#makes coordinates for the 10x10x10
for i in range(len(x)):
    for j in range(len(y)):
        for k in range(len(z)):
            info_in_coord = [4, 2, 6]
            coordinates[(x[i], y[j], z[k])] = info_in_coord
print coordinates[(2,3,7)][0]  # outputs 4

你们可以维持一个有水果的dict,关键是坐标

fruits = {(0,0,0):{'apples':1, 'oranges':2, 'lemons':3},
          }


你们可以维持一个有水果的dict,关键是坐标

fruits = {(0,0,0):{'apples':1, 'oranges':2, 'lemons':3},
          }


看看这是否有帮助-也
np.index
。看看这是否有帮助-也
np.index
。这非常接近我想要的。但是,有没有办法将字符串(如“apples”)替换为整数变量?假设您想知道平方(2,3,7)中applpes的数量。您想如何访问它。使用
坐标[(2,3,7)]['apples']
(您访问属性apple)或
坐标[(2,3,7)][0]
(您访问第一个属性)非常接近我想要的。但是,有没有办法将字符串(如“apples”)替换为整数变量?假设您想知道平方(2,3,7)中applpes的数量。您想如何访问它。使用
坐标[(2,3,7)]['apples']
(您访问apple属性)或
坐标[(2,3,7)][0]
(您访问第一个属性)fransico的答案的第二部分正是我要找的。非常感谢。你回答弗兰西科问题的第二部分正是我想要的。非常感谢。