当元素是键时,如何将元素前置到数组中

2024-05-21 05:33:36 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我要做的只是将数组以作家.作家(我的行)。在

为什么以下方法不起作用:

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

Tags: 方法keyinfor字典valueitems数组
2条回答

因为list.insert是“就地”工作的。它返回None,因为它没有给出值,它只对列表本身进行操作。在

想象一下:

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

它不返回数字,它只是改变它居住的地方。实际上,返回None,因为如果函数没有return语句,那么函数就隐式地返回。在

所以基本上你要做的是:

^{pr2}$

如果您所说的Array是指list,那么您可以改为:

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

当您调用writer.writerow(value.insert(0, key))时,这不起作用,因为value.insert(0, key)返回{}:

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

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

^{pr2}$

基本上,您所做的就是调用writer.writerow(None);上面的代码将修复这个问题。在

希望这有帮助!在

相关问题 更多 >