python中创建字典的要求_如何在Python中基于变量值创建字典

我推断您使用的是Active Worlds SDK。在今后的问题中,首先提到这一点将节省时间。在

我想您的目标是创建一个顶级字典,其中每个键都是对象描述。每个值都是另一个字典,存储该对象的许多属性。在

我快速浏览了wiki上的AW-SDK文档,但我看不出有什么方法可以要求SDK提供属性名、id和类型的列表。所以你必须以某种方式在程序中硬编码这些信息。除非您在其他地方需要它,否则最简单的方法是在创建字典的地方对它进行硬编码,而这正是您已经在做的。要将其打印出来,只需打印属性字典的repr。我可能会把你的方法格式化成这样:def py_cell_object():

#object counter - unrelated to question

addtototal()

description = aw.aw_string(239)

if description.startswith("TDT3_"):

vars()[description] = {

'DESCRIPTION': description,

'X': aw.aw_int(232),

'Y': aw.aw_int(233),

'Z': aw.aw_int(234),

'NUMBER': aw.aw_int (231),

... etc for remaining attributes

}

print repr(vars()[description])

有些人会争辩说,您应该为数字232、233、234等创建命名常量,但我认为没有什么理由这样做,除非您在多个地方需要它们,或者除非很容易从SDK自动生成它们(例如,通过解析.h文件)。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值