Python 的插入是否返回 None?
- 2025-03-05 09:16:00
- admin 原创
- 39
问题描述:
#!/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]
我得到的是“无”。我做错了什么?
解决方案 1:
列表上的变异方法往往会返回None
,而不是您期望的修改后的列表——此类方法通过就地修改列表来执行其效果,而不是通过构建并返回新列表。因此,将显示修改print numbers
后的列表。print clean
如果需要保持numbers
完整,请先复制一份,然后更改该副本:
clean = list(numbers)
clean.insert(3, 'four')
这具有您所期望的整体效果:numbers
未改变,clean
为改变后的列表。
解决方案 2:
insert 方法会就地修改列表,并且不会返回新的引用。尝试:
>>> numbers = [1, 2, 3, 5, 6, 7]
>>> numbers.insert(3, 'four')
>>> print numbers
[1, 2, 3, 'four', 5, 6, 7]
解决方案 3:
list.insert() 运算符不返回任何内容,您可能想要的是:
print numbers
解决方案 4:
insert 会将项目插入到给定的列表中。打印数字即可看到结果。insert 不会返回新列表。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD