没有0的Python示例

时间:2015-04-23 04:12:15

标签: python random random-sample

我需要在[-n,-1] union [1,n]中对k数进行采样而不进行替换。为什么这段代码不起作用?

random.sample(range(-n,n+1).remove(0),k)

我得到了

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/lib/python2.7/random.py", line 319, in sample
    n = len(population)
TypeError: object of type 'NoneType' has no len()

1 个答案:

答案 0 :(得分:1)

Sheets("Sheet1").Cells(8, Colnum + 1).Formula = "=iferror(vlookup(" & Sheets("Sheet1").Cells(8, 3).Address(False, True) & ",'Sheet2'!" & Range(Cells(3, 2), Cells(20, 10)).Address & "," & Colnum & ",False), ""NA"")" 是一个现场操作。它修改列表,并返回none。这就是你看到错误的原因。您应该单独创建列表并将其传递给remove

sample

如果你想在一个陈述中这样做,你可以分别创建范围的两个部分并添加它们。

>>> l = range(-n, n+1)
>>> l.remove(0)
>>> random.sample(l, k)