我有一个叫做“属性”的词,它看起来像这样。
# Format for properties
# NAME = POS FNAME TYPE PRCHSBLE SUIT PRICE RENT RENTSET RENT1 RENT2 RENT3 RENT4 RENTH HSCOST HTCOST MORT UNMORT
properties = {
'okr': [1,'Old Kent Road',types["pt"],True,suits["br"],60,2,4,10,39,90,160,250,50,50,30,33]
}(类型和套装只是其他的几个词)。为了访问这个函数,我使用了一个函数:
def view(prop):
print(f"Property Name: {properties[prop]}")
property = input("Which Property? ")
view(property)这很好,直到我需要得到一个特定的论点,比如我需要第五个值,我该如何去做呢?它是否像我使用x的数组?
发布于 2021-11-20 10:06:12
可以用方括号堆叠索引。如果你想要老肯特路的价格,你可以做properties['okr'][5]。
如果你想要一个更健壮的选项,就把关于房子的数据也变成一个小数据,而不是一个列表。通过这种方式,您可以重新排序或添加有关每个属性的新数据,甚至可以将字段留为空白,而无需依赖于特定顺序的其他代码。例如,您可以编写properties['okr']['price']。
定义您自己的Property类将是更加健壮的答案,每个数据块都有类成员。这将是最“正确”的OOP方式,但如果我诚实地写100行样板只是为了打印一个房子的名字糟透了,所以你应该自己衡量需要付出多少努力。
发布于 2021-11-20 10:04:04
如果您检查property['okr']返回(type(properties['okr']))的类型,您将看到它基本上只是一个列表。因此,您可以访问普通列表中的所有元素。假设我们想从okr得到道路名称
properties['okr'][2] # will return 'Old Kent Road'https://stackoverflow.com/questions/70044837
复制相似问题