2024-05-21 05:33:36 发布
网友
我有一个字典,其中每个值都是一个数组。在
我要做的只是将数组以作家.作家(我的行)。在
为什么以下方法不起作用:
for key,value in sorted(players.items()): writer.writerow( value.insert(0,key))
因为list.insert是“就地”工作的。它返回None,因为它没有给出值,它只对列表本身进行操作。在
list.insert
None
想象一下:
def multiply_by_three(number): global number three = 3 # magic numbers are bad, right? :) number = three * number
它不返回数字,它只是改变它居住的地方。实际上,返回None,因为如果函数没有return语句,那么函数就隐式地返回。在
return
所以基本上你要做的是:
如果您所说的Array是指list,那么您可以改为:
Array
list
for key,value in sorted(players.items()): writer.writerow([key]+value)
当您调用writer.writerow(value.insert(0, key))时,这不起作用,因为value.insert(0, key)返回{}:
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循环中再添加一行:
for
基本上,您所做的就是调用writer.writerow(None);上面的代码将修复这个问题。在
writer.writerow(None)
希望这有帮助!在
因为
list.insert
是“就地”工作的。它返回None
,因为它没有给出值,它只对列表本身进行操作。在想象一下:
它不返回数字,它只是改变它居住的地方。实际上,返回
None
,因为如果函数没有return
语句,那么函数就隐式地返回。在所以基本上你要做的是:
^{pr2}$如果您所说的
Array
是指list
,那么您可以改为:当您调用}:
writer.writerow(value.insert(0, key))
时,这不起作用,因为value.insert(0, key)
返回{相反,在
^{pr2}$for
循环中再添加一行:基本上,您所做的就是调用
writer.writerow(None)
;上面的代码将修复这个问题。在希望这有帮助!在
相关问题 更多 >
编程相关推荐