如何只追加列表中的唯一项目?

时间:2012-07-25 18:45:33

标签: python append unique

我希望找到附加唯一项目numlookup和wholetoken的方法。 有没有办法做到这一点?

numlookup = defaultdict(list) 
wholetoken = defaultdict(list)

#mydata is file containing mutation description
mydata = open('/mutation_summary.txt')
for line in csv.reader(mydata, delimiter='\t'):
    code = re.match('[a-z](\d+)[a-z]', line[-1], re.I)
    if code: 
        numlookup[line[-2]].append(code.group(1))
        wholetoken[line[-2]].append(code.group(0))

当我尝试使用set时,当我调用lookup(id)和wholelookup(id)时,我得到了这个错误: TypeError:' set'对象不可调用

lookup =set()
wholelookup =set()

with open('mutation_summary.txt') as mydata:
    for line in csv.reader(mydata, delimiter='\t'):
        code = re.match('[a-z](\d+)[a-z]', line[-1], re.I)
        if code: 
            lookup.add(code.group(1))
            wholelookup.add(code.group(0))

1 个答案:

答案 0 :(得分:0)

为什么不把它变成defaultdict的{​​{1}}?它只保留了唯一性。

如果这不是一个选项,那么你可以尝试:

set