python把列表写入csv报错

问题遇到的现象和发生背景

电脑mac 软件vscode
python用for循环,想把两个列表写进csv当中,但只写进了一行数据,请问怎么改才能全部写入

问题相关代码,请勿粘贴截图
import os,csv

w = [0,1,2,3,4,5]
l = [9,8,7,6,]

for a in w :
    o = a

for b in l :
    p = b
    
filepath = '/Users/hope/Desktop/pachong.csv'       
with open(filepath,'w') as f :
    head = ['链接','文章']
    writer = csv.writer(f)
    writer.writerow(head)
    for line in range(10) :
        row = []
        row.append(str(o)[line])
        row.append(str(p)[line])
        writer.writerow(row)
运行结果及报错内容

运行结果是只写进了5和6,其他没有写进去

我的解答思路和尝试过的方法

查找了他人写入的方法,比照替换

for a in w :
    o = a

for b in l :
    p = b

为下面的方法

o = [a for a in w]
print(o)
p = [b for b in l]   
print(p)

确实可以写入

我想要达到的结果

希望可以回答下个问题:
原来的方法for循环错在了哪里,为什么数据没有全部写入csv?请写出正确的写法。 万分感谢!

for a in w : o = a
o的值不断被覆盖,所以只有一个值

你这w和l两个列表也不等长啊,在你的代码上做了以下修改:

import csv
 
w = [0,1,2,3,4,5]
l = [9,8,7,6,]

while len(l)<len(w):
    l.append('')
    
filepath = '/Users/hope/Desktop/pachong.csv'       
with open(filepath,'w') as f :
    head = ['链接','文章']
    writer = csv.writer(f)
    writer.writerow(head)
    for line in range(len(w)) :
        o = w[line]
        p = l[line]
        row = []
        row.append(str(o))
        row.append(str(p))
        writer.writerow(row)