【发布时间】:2014-04-08 00:08:18
【问题描述】:
所以我自己有点问题。我有一本字典,我想从该字典中随机选择不返回列表。
random.choice() 返回一个列表
random.sample() 返回一个列表
random.keys() 和 random.values() 都返回列表。
我需要一个返回键和它的值的函数。
伪代码如下:
import random
myDict = {"IronSword" : 15, "SteelSword" : 30, "Playing Cards" : 45, "Spider legs" : 60"}
d = random.functionNameHere(myDict, 1) # Same arguments as random.sample()
print d
应该返回类似 {"SteelSword" : 30} 的内容,而不是 ['SteelSword']。
对不起,如果我有点脱节,我跳过了一些简单的事情。我是一个中级 python'er,还没有进入字符串文字。任何帮助将不胜感激!
【问题讨论】:
-
我认为
random.choice(myDict.items())可以满足您的需求,但您应该再试一次。我真的不明白为什么random.choice()会返回一个列表,你用什么调用它来获取一个列表作为返回值? -
@mhlester 这个问题很接近,但 OP 说他不想要一个列表,而之前的答案返回一个列表。
-
你从哪里得到
random.keys()和random.values()?这些不是python标准库的一部分!random.choice从项目列表中返回单个项目。如果该列表恰好由其他列表或元组组成,那么choice可能会返回一个列表或元组。 -
@Joel 这就是为什么第一行是
import random -
@user3508907 当你说你希望函数返回键和值,而你不希望函数返回一个列表,你是什么意思?你想回来什么类型的?
tuple、dict,还是别的什么?
标签: python random dictionary