优化创建列表字典

时间:2018-10-31 16:05:19

标签: python python-2.7

我正在上一个课

class Test:
    self.value = 0
    self.name = ''

我有数百万条记录,我只想根据其name对选择性记录进行排序。我创建了一个单独的列表,名为whitelist_names。我制作字典列表对象的方式就是这样

'''input_value and input_name are being feed from a file-read'''
map_list = {}

t = Test(input_value, input_name)

if t.input_name in whitelist_names:
    name_list = []
    if t.input_name in map_list:
        name_list = map_list[t.input_name]
    name_list.append(t)
    map_list[t.input_name] = name_list

上面的代码永远存在。我是python的新手,所以只想确保我是否做对了。

1 个答案:

答案 0 :(得分:0)

当您检查某个名称是否在列表中时,花一段时间是很合逻辑的。如果白色列出的名称都是唯一的,则可以使用集合而不是列表。集合理解比列表快很多。

此外,我建议您使用词典,而不是实现一个用于容纳名称及其显示次数的类。由于字典被实现为哈希映射,因此检查条目是否存在的速度非常快。