【问题标题】:Beginner question about getting a random object out of dictionaries in python关于从python中的字典中获取随机对象的初学者问题
【发布时间】:2022-08-17 12:37:14
【问题描述】:

我最近开始使用 LPTHW。在练习 39 中,我根据自己的想法做了一点偏离并更新了代码。它按预期工作,只是它按顺序从国家/地区挑选项目,我希望它会随机进行。

我可以轻松解决这个问题还是整个事情都是死胡同? 这个想法是选择一个随机元素随机询问 3 个问题中的 1 个,然后比较答案是否正确。

  • 抱歉,除非我缩进了图像,否则我无法发布问题,但是在我缩进之后它是不可点击的。
  • You shouldn\'t be posting images of code in the first place。它们无法被屏幕阅读器等自适应技术的用户搜索或复制,甚至无法使用。相反,将代码作为文本直接粘贴到您的问题中。如果您选择它并单击{} 按钮或Ctrl+K,则代码块将缩进四个空格,这将导致其呈现为代码。

标签: python dictionary


【解决方案1】:

假设您想像现在一样循环遍历 countries dict 中的每个项目,只是以随机顺序代替,那么您可以使用 random.shuffle 随机打乱列表。

因此,一种选择是将字典的键提取到列表中,将它们打乱,然后迭代它们以提供随机性。

尝试用以下四行代码替换第 63 行:

country_keys = list(countries.keys())
random.shuffle(country_keys)
for country in country_keys:
    abbrev = countries[country]

【讨论】:

  • 谢谢它的工作。我想对它们进行洗牌,因为循环在 10 个问题后停止,所以并不是每个项目都被选中。
【解决方案2】:

您可以使用:

import random

random.choice(list(my_dict.keys()))

从字典中选择一个随机键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2011-01-12
    • 2018-01-08
    • 2019-09-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多