【问题标题】:Index of a random item from a list [duplicate]列表中随机项目的索引[重复]
【发布时间】:2018-08-20 13:02:20
【问题描述】:

我有以下列表:

cnames = [" green ", " blue ", " yellow ", " gray ", " pink ", " orange ", "purple ", " red ", "brown "]

如何获得 6 个随机且唯一的索引,它们代表 0len(cnames) 来自该列表?

【问题讨论】:

  • 为了清楚起见,6 个随机且唯一的索引是什么意思?您的意思是表示0len(cnames) 之间的数字的6 个唯一整数还是与列表中的字符串匹配的6 个唯一字符串?
  • @GarretGutierrez 我的意思是 6 个唯一整数,代表 0 到 len(cnames) 之间的数字
  • random.sample(range(len(cnames),k=6) 将在不替换 0 和 len(cnames) 之间的 6 个数字的情况下进行采样。如果你想替换它们,你可以使用choices(...)

标签: python python-3.x


【解决方案1】:

random 模块应该会有所帮助。

import random
random.sample(cnames, 6)   #random.sample returns unique list of random choice. 

random.sample(range(len(cnames)), 6)#to get random int representing a number between 0 and len(cnames)

输出:

[' gray ', ' pink ', 'purple ', ' blue ', ' orange ', ' green ']

【讨论】:

  • 他想要整数,所以 (len(cnames),6) 的样本会更接近
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-12
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多