#!/usr/bin/python

numbers = [1, 2, 3, 5, 6, 7]

clean = numbers.insert(3, 'four')

print clean
# desire results [1, 2, 3, 'four', 5, 6, 7]

我得到“无”。我究竟做错了什么?

最佳答案

列表中的变异方法往往会返回None而不是,如您所期望的那样-此类方法通过就地更改列表而不是通过构建并返回新列表来执行其效果。因此,print numbers而不是print clean将为您显示更改后的列表。

如果需要保持numbers完好无损,请先制作一个副本,然后再更改副本:

clean = list(numbers)
clean.insert(3, 'four')

这具有您似乎想要的总体效果:numbers不变,clean是更改后的列表。

关于Python的插入返回无?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1516889/

10-13 07:22