我有一个数字元组,除了某个数字之外,我还想从我的元组中选择一个随机数。例如:
my_tuple = (1,2,3)
我有数字 4。我想从数字 1、2、3、4 中选择一个随机数(当然不改变元组)。
我试过:
my_tp = (1, 2, 3)
a = random.choice(list(my_tp).append(4))
print(a)
我是 python 的新手。我尝试将元组转换为列表,然后执行随机函数。 上面的代码不起作用。得到错误
object of type 'NoneType' has no len()
希望得到一些帮助。
请您参考如下方法:
list.append返回 none
一旦转换为 list正如您所做的那样,附加将修改 list但返回 none所以这就是你的error的来源.
为了解决这个问题,您可以转换 tuple到 list然后append 4给它,然后使用 random.choice ,或者只需一步,您就可以连接 [4] 的列表与 +操作数。
这种方法要简单得多:
import random
my_tuple = (1,2,3)
random.choice(list(my_tuple) + [4])
希望这有助于解决一些问题! :)
更新:
如果你想从没有最后一项的元组中随机选择,那么只需 slice具有正常语法的列表:
random.choice(list(my_tuple)[:-1])
