python random
In [120]: import random In [121]: l1 = (1, 2, 3) In [122]: l2 = [1, 2, 3] In [123]: ran random range In [123]: random.shuffle(l1) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-123-00db8a674af6> in <module>() ----> 1 random.shuffle(l1) /usr/lib/python2.7/random.pyc in shuffle(self, x, random) 287 # pick an element in x[:i+1] with which to exchange x[i] 288 j = _int(random() * (i+1)) --> 289 x[i], x[j] = x[j], x[i] 290 291 def sample(self, population, k): TypeError: 'tuple' object does not support item assignment In [124]: random.shuffle(l2) In [125]: l2 Out[125]: [3, 2, 1]
In [126]: a = l2 In [127]: a Out[127]: [3, 2, 1] In [128]: a = random.shuffle(l2) In [129]: a In [130]: a In [131]: print a None
上面的错误是因为元组内容不可更改
下面返回a的值是None是因为shuffle返回值的原因 ,shuffle只是在原基础上做的打乱
In [19]: import random In [20]: random.random() Out[20]: 0.9467622073347552 In [21]: random.uniform(1, 2) Out[21]: 1.5264479206993298 In [22]: random.uniform(1, 1) Out[22]: 1.0 In [23]: random.randint(1,3) Out[23]: 1 In [24]: random.randrange(1, 100) Out[24]: 7 In [25]: random.randrange(1, 100, 3) Out[25]: 22 In [26]: random.randrange(1, 100, 3) Out[26]: 28 In [27]: random.randrange(1, 100, 3) Out[27]: 58 In [28]: random.randrange(1, 100, 3) Out[28]: 91 In [29]: random.choice(range(10)) Out[29]: 5 In [30]: random.sample(range(10), 3) Out[30]: [9, 6, 2]