当element是键时,如何将元素添加到数组中

时间:2014-05-06 03:58:03

标签: python

我有一个字典,其中每个值都是一个数组。

我想做的只是以writer.writerow(myrow)的形式将数组写入csv。

为什么以下不起作用:

for key,value in sorted(players.items()):
        writer.writerow( value.insert(0,key))

2 个答案:

答案 0 :(得分:3)

当您致电writer.writerow(value.insert(0, key))时,这不起作用,因为value.insert(0, key)会返回None

>>> value = [6, 7, 8]
>>> new = value.insert(0, 5)
>>> new
>>> print new
None
>>> value
[5, 6, 7, 8]
>>> 

相反,在for循环中添加一行:

for key,value in sorted(players.items()):
        value.insert(0, key)
        writer.writerow( value)

基本上,你正在做的是调用writer.writerow(None);上面的代码将解决这个问题。

希望这有帮助!

答案 1 :(得分:2)

因为list.insert适用于“就地”#34;它返回None因为它没有给出值,它只是在列表本身上运行。

想象一下:

def multiply_by_three(number):
    global number
    three = 3 # magic numbers are bad, right? :)
    number = three * number

它不会返回数字,只是在它居住的地方改变它。实际上返回None,因为如果函数不具有return语句,则函数会隐式执行。{/ p>

基本上你正在做的事情:

for key,value in sorted(players.items()):
    writer.writerow(None)

如果Array代表list,那么您可以改为:

for key,value in sorted(players.items()):
    writer.writerow([key]+value)