如何生成一个随机字典?

3

我需要创建一个字典,其中包含给定范围内的键和随机值,例如:

{key 1: value1, key 2: value2, key 3: value1, key 4: value 1, key 5: value 1}

或者

{key 1: value2, key 2: value1, key 3: value1, key 4: value 1, key 5: value 1}

或者

{key 1: value1, key 2: value1, key 3: value1, key 4: value 1, key 5: value 2}

如您所见,该字典具有以下模式:

  • 键从函数的输入数字生成,如果我输入5,则有5个键,如果我输入3,则有3个键
  • 值仅有2个不同的值(value1value2),但是value2只能在任何键中随机出现1次。其余值将为value1

代码:

def function(n):
   from random import randrange
   mydict = {}
   for i in range(5):
         key = "key " + str(i)

   value = ['value1', 'value2']

字典中的键值对数量是否有限制? - taurus05
11个回答

0
你可以使用字典推导式和numpy.random来完成它:
def create_dict(size=5):
    values = ['value_1', 'value2']

    # choose our index randomly
    x = lambda x: np.random.randint(1, len(values)+1)

    # the 1 in x() is a dummy input var
    return {"key %d"%i: values[x(1)] for i in range(size)}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接