从AutotaskAPI解析选择列表值

2024-10-04 03:16:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将从AutotaskAPI查询得到的数字值与选择列表表相匹配,这些选择列表表将该数字与words中的实际定义相匹配。使用以下代码段:

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

Tags: keyinselffalse列表forvalue数字
1条回答
网友
1楼 · 发布于 2024-10-04 03:16:33

因为字典中的"Value"条目是一个数字的字符串表示形式,所以当您enumerate它时,实际上只是在字符串中的字符上进行迭代。示例中的enumerate对象将为您提供每个字符和字符的索引,如下所示:

>>> list(enumerate("30098742"))
[(0, '3'), (1, '0'), (2, '0'), (3, '9'), (4, '8'), (5, '7'), (6, '4'), (7, '2')]

如果您想要的第一个选择列表是self.queueCode["PicklistValues"]["PickListValue"][0],那么您可能需要枚举选择列表的底层列表,而不是显式地获取该列表,例如:

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),因为“key”实际上不是一个key,而是一个计算您正在枚举的项的序数。在本例中,它对应于一个索引,因此我可能会在循环中使用iidx这样的名称。你知道吗

相关问题 更多 >