【问题标题】:Is there a way to get a random value from a Python dictionary and find a value from another dictionary using it?有没有办法从 Python 字典中获取随机值并使用它从另一个字典中查找值?
【发布时间】:2021-07-19 22:42:04
【问题描述】:

我正在尝试创建一个系统,从字典中获取值,然后尝试使用它从不同的字典中查找值。我已经尝试了很多次,但都没有成功。

import random

dic = {
        '1': 'hi',
        '2': 'hi2',
    }
dic2 = {
        '1': 'hello',
        '2': 'hello2',
}

x = random.choice(list(dic))
print(x)
y = dic2['x']
print(y)

此代码无功能,返回File "<PATH>", line 16, in <module> <y = dic2['x'] KeyError: 'x'

【问题讨论】:

  • dic2[random.choice(list(dic.keys()))] 这会起作用,但至于你的错误,一个问题是x 是一个变量,在你的倒数第二行你用引号括起来,使它成为一个字符串.删除引号。

标签: python dictionary random


【解决方案1】:

你很接近!

import random

dic = {
        '1': 'hi',
        '2': 'hi2',
    }
dic2 = {
        '1': 'hello',
        '2': 'hello2',
}

x = random.choice(list(dic.keys()))
print(x)
y = dic2[x]
print(y)

在这里,我从字典的键中获取了一个随机值。 然后我不得不删除注释字符,因为这样 x 是一个变量而不是字符串

【讨论】:

  • 感谢您的帮助!
【解决方案2】:

你已经接近了。删除行中 x 周围的单引号:

y = dic2[x]

这样看:你的意思是:你命名为 x 的变量中的任何内容。不是任何标有字符“x”的东西。如果需要,您也可以删除 dict 声明中的引号。您的代码在哪里:我想要一个名称为“1”的项目“Hi”(可以说是字母一),这个代码

1: 'hi',

意思是:我希望“Hi”这个词出现在以实际数字 1 作为其键的项目中。

【讨论】:

  • 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2023-03-10
  • 2020-06-19
  • 2014-01-16
  • 2013-09-28
  • 2019-08-22
  • 1970-01-01
  • 2015-01-09
  • 1970-01-01
相关资源
最近更新 更多