我试图将从查询到AutotaskAPI的数值与匹配该数字的选项列表与单词中的实际定义进行匹配。使用以下代码段:
for entity in entities:
for key, value in enumerate(self.queueCode["PicklistValues"]["PickListValue"][0]["Value"]):
print value
返回系统中的所有故障单及其数值,但for key, value in enumerate(self.queueCode["PicklistValues"]["PickListValue"][0]["Value"])
是我用来获取选项列表值的方法。因此,此印刷品将返回" 30098742"从:
(PickListValue){
Value = "30098742"
Label = "BF Onsite"
IsDefaultValue = False
SortOrder = 44
parentValue = None
IsActive = True
IsSystem = False
如何获取所有领料单值和相应的标签?
更新:
以下代码将在获取Value
的数字值方面做我想要的,但是,我没有迭代所有的选项列表,所以在我的前任,[0]不会去[0],[1],[2]等,它们会给我所有选项列表的值。
for key, value in enumerate(self.queueCode["PicklistValues"]["PickListValue"][0]["Value"]):
print value
答案 0 :(得分:0)
由于字典中的"Value"
条目是数字的字符串表示形式,当您enumerate
时,它实际上只是迭代字符串中的字符。示例中的enumerate
对象将为您提供每个字符的索引以及字符,如下所示:
>>> list(enumerate("30098742"))
[(0, '3'), (1, '0'), (2, '0'), (3, '9'), (4, '8'), (5, '7'), (6, '4'), (7, '2')]
如果您想要的第一个PickList是self.queueCode["PicklistValues"]["PickListValue"][0]
,那么您可能需要枚举PickLists的基础列表,而不是明确地获取它。类似的东西:
for idx, plist in enumerate(self.queueCode["PicklistValues"]["PickListValue"]):
print "PickList with index {} has value {} and label {}".format(
idx, plist["Value"], plist["Label"]
)
顺便说一句,我不建议写for key, value in enumerate(sequence)
,因为“密钥”实际上不是一个密钥,而是一个计数你所枚举的项目的序数。在这种情况下,它对应一个索引,所以我可能在循环中使用i
或idx
之类的名称。