【发布时间】:2013-07-09 09:15:53
【问题描述】:
我正在尝试将整数 1,2,..., N 分配给字典的键。每个键是一个 4 维向量;所以我应该将数字 1,...,N 分配给 (i,j,k,l) 形式的键。这似乎是一项微不足道的工作;我想我已经住了一夜,我的大脑不工作了。我真的很感谢你的帮助。
【问题讨论】:
-
dict((key, index) for index, key in enumerate(the_sequence_of_keys, start=1))?相关:stackoverflow.com/questions/17513890/…(注意:在 python2.7 和 python3 中,您还可以使用 dict-comprehension:{key: index for index, key in enumerate(sequence_of_i_j_k_l, start=1)})。 -
你想创建像
{(1,2,3,4):1, (2,3,4,5):2, ....., (n,n+1,n+2,n+3):n}这样的字典吗? -
i,j,k,l和字典中的值有什么关系吗?否则,如果您只是想“枚举”这些键,我之前的评论已经解决了您的问题。 -
@Bakuriu:实际上,没有。我需要做的就是为字典的每个键分配一个唯一编号。
-
@NNsr 我的评论已经提供了一个解决方案,因为每个键都有不同的值。插入具有唯一值的新键也很容易,因为您可以跟踪插入的最大值。如果你想使用随机数,那么你应该有一个
used_ids = set()并跟踪使用的值。
标签: python dictionary