python的for循环

我想把列表中元素的(1)或(2)去掉

a=['子夏曰:“虽小道(1),必有可观者焉,致远恐泥(2),是以君子不为也。”','子夏曰:“日知其所亡,月无忘其所能(1),可谓好学也已矣。”']
for line in a:
    for i in range(3):
        m = line.replace('('+str(i)+')','')
    print(m)


输出为原封不动并没有把(1)或(2)去掉,于是我把倒数第二行的a改成line就成功了,但是我想不明白为什么

a是列表,line是单独字符串,使用replace作用的对象是字符串,所以replace对a使用不可以