【问题标题】:Select 3 Random Items from List [closed]从列表中选择 3 个随机项目 [关闭]
【发布时间】:2021-11-29 19:25:45
【问题描述】:

我得到了一个单词列表,让我们说大约 200 个不同的单词。我打算创建一个代码,每个代码一起生成 3 个随机单词。

例如:wordlist = ["a", "b", "c", "d", "e", ..., "z"]

输出应该是:

  • "a", "d", "z"
  • "c", "o", "x"
  • "f", "s", "a"
  • 等等

【问题讨论】:

标签: python python-3.x list random


【解决方案1】:
import random 

wordlist = ["a","b","c","d","e","f","g"] 
print(random.sample(wordlist, 3))

【讨论】:

    【解决方案2】:

    如果每组 3 个单词中的单词不能在另一组中重复使用,则您需要在制作组之前将整个单词列表打乱。 random 模块中的 shuffle 函数可以进行洗牌,您可以从洗牌的单词列表中依次选择 3 个单词的集合(在下面的示例中使用 zip)

    wordlist = ["a","b","c","d","e","f","g","h","i","j","k","l","m",
                "n","o","p","q","r","s","t","u","v","w","x","y","z"]
    
    from random import shuffle
    
    shuffle(wordlist)
    trigrams = [t for t in zip(*[iter(wordlist)]*3)]
    
    print(*trigrams,sep="\n")
    
    ('w', 'n', 's')
    ('e', 't', 'b')
    ('c', 'r', 'z')
    ('j', 'l', 'g')
    ('a', 'd', 'm')
    ('i', 'h', 'y')
    ('k', 'p', 'f')
    ('q', 'u', 'v')
    

    请注意,没有使用两个字母(单词),因为只有 26 个字母,而且还需要一个才能获得第 9 组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 2015-10-08
      • 1970-01-01
      相关资源
      最近更新 更多