从集合弃用中获取随机数
Get random number from set deprecation
我正在尝试从一组唯一用户中随机获取 n 个用户。
这是我目前的情况
users = set()
random_users = random.sample((users), num_of_user)
这很好用,但它给了我一个已弃用的警告。我应该改用什么? random.choice 不适用于集合
更新
我试图在 post 上获得反应并希望它们是独一无二的,这就是我使用 set
的原因。坚持使用列表会更好吗?
users = set()
for reaction in msg.reactions:
async for user in reaction.users():
users.add(user)
使用 *
运算符将您的集合转换为列表 unpack your dict:
random_users = random.choices([*users],k=num_of_user)
您也可以创建一个列表,稍后让元素唯一。为此,common way 是将您的列表转换为集合,然后再次返回列表。
FWIW,random.sample()
in Python 3.9.2 在通过 dict
:
时表示
TypeError: Population must be a sequence. For dicts or sets, use sorted(d).
而且这个解决方案似乎对 set
和 dict
输入都有效。
我正在尝试从一组唯一用户中随机获取 n 个用户。
这是我目前的情况
users = set()
random_users = random.sample((users), num_of_user)
这很好用,但它给了我一个已弃用的警告。我应该改用什么? random.choice 不适用于集合
更新
我试图在 post 上获得反应并希望它们是独一无二的,这就是我使用 set
的原因。坚持使用列表会更好吗?
users = set()
for reaction in msg.reactions:
async for user in reaction.users():
users.add(user)
使用 *
运算符将您的集合转换为列表 unpack your dict:
random_users = random.choices([*users],k=num_of_user)
您也可以创建一个列表,稍后让元素唯一。为此,common way 是将您的列表转换为集合,然后再次返回列表。
FWIW,random.sample()
in Python 3.9.2 在通过 dict
:
TypeError: Population must be a sequence. For dicts or sets, use sorted(d).
而且这个解决方案似乎对 set
和 dict
输入都有效。