【发布时间】:2013-11-29 21:21:14
【问题描述】:
编辑:感谢您对如何完成我正在尝试做的事情的友好回复,但问题是关于 WHY range().append() 返回如果您一步尝试,则没有,为什么如果您分两步尝试,它会起作用。
我正在尝试创建一个数字列表,但有一点不同。我不想在我的列表开头出现几个数字:
mlist = [0, 5, 6, 7, ...]
所以我想这样做:
mlist = range(5,n+1).append(0)
但静默失败,因为 type(mlist) 之后等于 NoneType ?! (相关:type(range(5,10) 评估为 list 类型)
如果我尝试分两步进行,例如:
>>> mlist = range(5,10)
#and then
>>> mlist.append(0)
>>> mlist
[5, 6, 7, 8, 9, 10, 0]
发生了什么事?
【问题讨论】:
-
我对最后一个 sn-p 有点怀疑。 :^) 你应该得到一个
mlist的[5, 6, 7, 8, 9, 0],而且间距是错误的。请复制并粘贴成绩单——否则很容易出错。 -
@DSM 你是对的,我的目标是一个快速的例子来说明两步移动的工作原理:)
-
我确实解释了为什么;因为
.append()改变了列表。这也让你质疑重复。
标签: python python-2.x