Python 从AutotaskAPI解析选取列表值
我正在尝试将从AutotaskAPI查询中获得的数字值与选择列表表相匹配,这些选择列表表将该数字与实际的单词定义相匹配。使用以下代码段:Python 从AutotaskAPI解析选取列表值,python,python-2.7,suds,Python,Python 2.7,Suds,我正在尝试将从AutotaskAPI查询中获得的数字值与选择列表表相匹配,这些选择列表表将该数字与实际的单词定义相匹配。使用以下代码段: for entity in entities: for key, value in enumerate(self.queueCode["PicklistValues"]["PickListValue"][0]["Value"]): print value 返回系统中的所有票证及其数字值,但enumerateself中的for键值。qu
for entity in entities:
for key, value in enumerate(self.queueCode["PicklistValues"]["PickListValue"][0]["Value"]):
print value
返回系统中的所有票证及其数字值,但enumerateself中的for键值。queueCode[PicklistValues][PickListValue][0][value]是我用来获取picklist值的。因此,此打印将从以下位置返回30098742:
(PickListValue){
Value = "30098742"
Label = "BF Onsite"
IsDefaultValue = False
SortOrder = 44
parentValue = None
IsActive = True
IsSystem = False
如何获取所有选择列表值和相应标签
更新:
下面的代码将实现我想要的获取value的number值的功能,但是,我并没有遍历所有的picklist,因此在我的示例中,[0]不会转到[0]、[1]、[2]等等,这将为我提供所有picklist的值
for key, value in enumerate(self.queueCode["PicklistValues"]["PickListValue"][0]["Value"]):
print value
由于字典中的值项是数字的字符串表示形式,因此当您枚举它时,实际上只是在字符串中的字符上进行迭代。示例中的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"]
)
顺便说一句,我不建议在enumeratesequence中为key、value编写代码,因为key实际上不是一个key,而是一个序数,用于计算要枚举的项。在本例中,它对应于一个索引,因此我可能会在循环中使用像I或idx这样的名称