tek*_*agi 135 python random dictionary key
如何从一个随机对获得dict?我正在制作一个游戏,您需要猜测一个国家的首都,我需要随机出现问题.
的dict模样{'VENEZUELA':'CARACAS'}
我怎样才能做到这一点?
Ger*_*rat 235
一种方式(在Python 2.*中)将是:
import random
d = {'VENEZUELA':'CARACAS', 'CANADA':'OTTAWA'}
random.choice(list(d.keys()))
Run Code Online (Sandbox Code Playgroud)
编辑:问题在原始帖子后几年被更改,现在要求一对,而不是单个项目.最后一行应该是:
country, capital = random.choice(list(d.items()))
Run Code Online (Sandbox Code Playgroud)
小智 16
如果您不想使用该random模块,您也可以尝试popitem():
>> d = {'a': 1, 'b': 5, 'c': 7}
>>> d.popitem()
('a', 1)
>>> d
{'c': 7, 'b': 5}
>>> d.popitem()
('c', 7)
Run Code Online (Sandbox Code Playgroud)
由于dict 不保留顺序,因此使用popitem从中获取任意(但不是严格随机)顺序的项目.
另外请记住,popitem从文档中删除键值对,如文档中所述.
popitem()对于破坏性地迭代字典非常有用
lav*_*ngh 11
试试这个:
import random
a = dict(....) # a is some dictionary
random_key = random.sample(a, 1)[0]
Run Code Online (Sandbox Code Playgroud)
这绝对有效.
>>> import random
>>> d = dict(Venezuela = 1, Spain = 2, USA = 3, Italy = 4)
>>> random.choice(d.keys())
'Venezuela'
>>> random.choice(d.keys())
'USA'
Run Code Online (Sandbox Code Playgroud)
通过在字典(国家)上调用random.choicekeys.
这适用于 Python 2 和 Python 3:
随机密钥:
random.choice(list(d.keys()))
Run Code Online (Sandbox Code Playgroud)
一个随机值
random.choice(list(d.values()))
Run Code Online (Sandbox Code Playgroud)
随机键和值
random.choice(list(d.items()))
Run Code Online (Sandbox Code Playgroud)
由于最初的帖子想要这对:
import random
d = {'VENEZUELA':'CARACAS', 'CANADA':'TORONTO'}
country, capital = random.choice(list(d.items()))
Run Code Online (Sandbox Code Playgroud)
(Python 3风格)
| 归档时间: |
|
| 查看次数: |
185175 次 |
| 最近记录: |