我有一个数组,当新用户投票时我想要增加它们的元素。
例如,如果有10个选项,从1到10,一个用户投票i=3
,那么写起来会很容易:
A[i] = A[i] + 1;
如果选项来自' A'我要怎么做?因为我无法使用该字母指向特定的数组元素。
对于几千个用户,我不想做一个嵌入式循环,我搜索阵列的所有元素,看看哪个选择' i'每次都对应。
我可以在O(n)时间内完成这项工作吗?
答案 0 :(得分:2)
就像使用字典一样简单,字典就像一个数组,而不是索引你有一个键,每个键都有一个值。有关更多信息,请访问https://www.tutorialspoint.com/python/python_dictionary.htm
因此,在您的示例中,只需定义一个这样的字典:
data['A'] += 1
print(data['A'])
>>> {'A': 1, 'B': 0, 'C': 0}
然后找到你想要upvote的字母并增加它:
data = {'A': {'Votes':0, 'Description': ''}, 'B': {'Votes':0, 'Description': ''}, 'C': {'Votes':0, 'Description': ''} .....}
data['A']['Votes'] += 1
即使您可以在词典中使用词典,例如:
this.appendImages(data['hotelimages']);