python - 有没有办法从它的一个属性中检索一个 python 对象?(Python)
问题描述
我是一个制作不和谐机器人的初学者,对于一个命令,我有对象及其遇到的机会,使用以下格式:
chances = 5, 5
objects = array[0].name, array[1].name
location = [v for v, d in zip(objects, chances) for i in range(d)]
for i in range(1):
print(random.choice(location))
我想将对象保存为要在另一个命令中使用的变量,特别是访问另一个属性以获取信息。但是,由于对象使用它的一个属性,而不是对象本身,我想知道在 python 中是否可以从它的一个属性中检索对象,在我的例子中是名称,其中没有对象具有相同的名称。我也对替代解决方案持开放态度,作为初学者,我相信还有其他解决方案可能更有效
解决方案
我不相信这是可能的。但是,您可以创建一个按该名称引用对象的字典。像这样
chances = 5, 5
objects = array[0].name, array[1].name
object_name_to_object = {}
for val in array:
object_name_to_object[val.name] = val
location = [v for v, d in zip(objects, chances) for i in range(d)]
for i in range(1):
objct= object_name_to_object[random.choice(location)]
print(objct)
或者根本不使用这个名称:
chances = 5, 5
objects = array[0], array[1]
location = [v for v, d in zip(objects, chances) for i in range(d)]
for i in range(1):
print(random.choice(location))
推荐阅读
- if-statement - 如何在 Fortran 中使用“如果”
- java - Spring Security addFilterAfter 在使用 Angular 的多步骤(登录 + 安全问题)身份验证期间导致问题
- java - Firebase 实时数据库未更新
- c# - .SaveChangesAsync() 将 1 附加到我的列名,使其成为无效的列名
- c# - 循环遍历标志枚举,同时忽略组合类型
- discord.py - youtube 搜索命令的安全搜索过滤器 (Discord.py)
- api - Http 补丁在邮递员中工作正常,但在浏览器中不起作用,无论是通过 cloudflare 还是 nginx 防火墙
- r - 如何在 Mac 上导出 Xquartz 上生成的绘图/图像
- vue.js - Nuxt .env 并将 js 导入商店
- java - 将带有java的csv插入mysql工作台