2024-03-28 09:33:52 发布
网友
#!/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将向您显示修改后的列表
None
print numbers
print clean
如果您需要保持numbers完整,请先制作一份副本,然后更改副本:
numbers
clean = list(numbers) clean.insert(3, 'four')
这具有您想要的总体效果:numbers未更改,clean是更改的列表
clean
list.insert()运算符不返回任何内容,您可能需要的是:
insert方法就地修改列表,不返回新引用。尝试:
>>> numbers = [1, 2, 3, 5, 6, 7] >>> numbers.insert(3, 'four') >>> print numbers [1, 2, 3, 'four', 5, 6, 7]
列表上的变异方法倾向于返回
None
,而不是像您所期望的那样返回修改后的列表——这种方法通过修改列表而不是构建并返回一个新列表来实现其效果。因此,print numbers
而不是print clean
将向您显示修改后的列表如果您需要保持
numbers
完整,请先制作一份副本,然后更改副本:这具有您想要的总体效果:
numbers
未更改,clean
是更改的列表list.insert()运算符不返回任何内容,您可能需要的是:
insert方法就地修改列表,不返回新引用。尝试:
相关问题 更多 >
编程相关推荐