python变量输出未添加到列表中

python变量输出未添加到列表中,python,list,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.fi

我需要将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”中。请回答

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

例如:

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

与其使用
a=res
不如使用
a+=res
列表。扩展

为什么您认为反复重新分配
a
会导致原始列表发生更改?