在一个Python数组位置(有点容器)中保存多个值

时间:2015-12-05 20:16:03

标签: python arrays collections

我想用某种东西作为容器,但我不能做对象......我相信有一些图书馆或收藏品可以帮助我。

我想将一些连接值保存到一个数组位置:

   array = []

   array.append(value1 = 1, value2 = 2, value3 = 3)
   array.append(value1 = 5, value2 = 7, value3 = 10)
   array.append(value1 = 2, value2 = 3, value3 = 3)

像这样......然后我想在这个数组中搜索

   for n in array:
       n.value1 = ....

但我是初学者,对语言知之甚少......你能帮助我吗?

2 个答案:

答案 0 :(得分:2)

你正在寻找一本字典。它可以像这样使用:

d = {"value1": 1, "value2": 2, "value3": 3}
for k in d:
    print("key: {}, value: {}".format(k, d[k]))

以下是文档:https://docs.python.org/2/tutorial/datastructures.html#dictionaries

对于你的问题,你需要一个字典列表。像这样:

list_of_dict = []

list_of_dict.append({"value1": 1, "value2": 2, "value3": 3})
list_of_dict.append({"value1": 5, "value2": 7, "value3": 10})
list_of_dict.append({"value1": 2, "value2": 3, "value3": 3})

for dct in list_of_dict:
    dct["value1"] = ...

答案 1 :(得分:-1)

如评论中所述,您正在寻找字典;请参阅the docs或此tutorial

示例代码:

subst(T,A,V,R):-T=..L,make_simple(L,L1),replace(L1,A,V,L2),to_exp(L2,R).

make_simple([],[]).
make_simple([H|T],[H|W]):-atomic(H),make_simple(T,W),!.
make_simple([H|T],[W1|W2]):- \+atomic(H),H=..H1,make_simple(H1,W1),make_simple(T,W2),!.

replace([],_,_,[]).
replace([A|T],A,V,[V|W]):- replace(T,A,V,W),!.
replace([H|T],A,V,[H|W]):- H\=A,\+is_list(H),replace(T,A,V,W),!.
replace([H|T],A,V,[W1|W2]):-H\=A, is_list(H),replace(H,A,V,W1),replace(T,A,V,W2),!.

to_exp([],[]).
to_exp([Z,H1,H2],L):-atomic(H1),atomic(H2),L=..[Z,H1,H2],!.
to_exp([Z,H1,H2],L):- \+atomic(H1),atomic(H2),to_exp(H1,W1),L=..[Z,W1,H2].
to_exp([Z,H1,H2],L):- atomic(H1),\+atomic(H2),to_exp(H2,W1),L=..[Z,H1,W1].
to_exp([Z,H1,H2],L):- \+atomic(H1),\+atomic(H2),to_exp(H1,W1),to_exp(H2,W2),L=..[Z,W1,W2].