我得到类型错误:choice()在使用python random时获得意外的关键字参数“k”,choice

3ks5zfa0  于 2023-01-04  发布在  Python
关注(0)|答案(1)|浏览(467)

我想生成一个长度为n的随机字符串,在给定的字母表中。

import random
alphabet = "ACTG"
n= 10
# print(''.join(random.choice(alphabet) for x in range(n)) ) # work fine

print(''.join(random.choice(alphabet, k=n))) # doesn't work

错误:

Traceback (most recent call last):
  File "<input>", line 3, in <module>
TypeError: choice() got an unexpected keyword argument 'k'
a6b3iqyw

a6b3iqyw1#

正确的方法是将choicess一起使用,因此使用**random.choices
错误来自两个名称相似的函数。第一个是
random.choices,带有s**,第二个是**random.choice,不带有s**。

import random
alphabet = "ACTG"
n= 10

# print(''.join(random.choice(alphabet, k=n))) # gives an error
print(''.join(random.choices(alphabet, k=n))) # the correct method, work fine

相关问题