python变量输出不添加到列表

时间:2014-07-20 09:55:15

标签: python list

我需要将res值存储在列表'a'中,但它只打印res的最后一个值。来自程序的所有3 if条件的res值产生如下输出:

['Keel']
['goodthing']
['Tensa']
['Jees']
['John']
['Mary']
['he']

当我想将输出添加到列表'a'时,它只打印['he']而不是所有输出

import re
a=[]
with open('qwert.txt', 'r') as f:
    for line in f:
        res = re.findall(r'(?:Dr[.](\w+))', line)
        if res: 
            a= res
        res = re.findall(r'(?:As (\w+))', line)
        if res:
            a= res
        res = re.findall(r'\w+(?==\w)', line)
        if res:
            a= res

print a

请帮我将所有输出存储在列表'a'中。我们将不胜感激!

2 个答案:

答案 0 :(得分:3)

使用a.extend(res)代替a = res

一个例子:

>>> a=[]
>>> a.extend([1,2])
>>> print a
[1, 2]
>>> a.extend([3,4])
>>> print a
[1, 2, 3, 4]

答案 1 :(得分:1)

代替a = res执行a += res,与使用list.extend

具有相同的效果