我有很多高整数,我想通过将它们添加到列表中并将该整数链接到列表的索引号来减少它们的处理能力。
例如,我将Integer 656853添加到新列表中。由于它是第一个条目,因此它的索引现在为0。对于下一个整数,我检查列表以查看值是否已存在。如果没有,我将整数添加到列表中。这应该使用多个整数来完成。
查找整数并将其添加到列表的最快方法是什么?
对它们进行排序是否是一个好主意,以便更快地找到它们?
答案 0 :(得分:3)
使用set()。这样可以确保给定int只有一个条目。
int_set = set()
int_set.add(7)
int_set.add(7)
# there is only one 7 in the int set
答案 1 :(得分:0)
unique_list = list(set(huge_list_of_integers))
如果您需要索引引用:
for i,num in enumerate(unique_list):
print(i, num)
或映射到index:value的字典:
unique_dict = dict(enumerate(set(huge_list_of_integers)))
for i,v in unique_dict.items():
print(i, v)
按值划分的索引:index:
unique_dict = {v:i for i,v in enumerate(set(huge_list_of_integers))}
for v,i in unique_dict.items():
print(v,i)