循环遍历不一致列表的字典

时间:2015-04-22 13:59:40

标签: python for-loop dictionary

我正在解析xml并将其转换为字典。 我的字典就像

'directories': {'dirname': 'D:\\directory\\subdir'},

'directories': {   'dirname': [   'D:\\directory1\\subdir1',
                                  'D:\\directory2\\subdir2']},

如何遍历此词典。 目前我这样做,只有它有多个元素才有效。我应该检查dirname是一个元素列表还是只是一个元素,并通过循环检查?或者有任何pythonic方式来实现这个

rules = []
for v in args["directories"]["dirname"]:
    rules.append(os.path.join(v, "*", "*"))

输出: 输入'directories': { 'dirname': [ 'D:\\directory1\\subdir1', 'D:\\directory2\\subdir2']},

  rules[] = ['D:\\directory1\\subdir1\\*\\*', 'D:\\directory1\\subdir1\\*\\*']

输入'directories': {'dirname': 'D:\\directory\\subdir'},

['D\\*\\*', ':\\*\\*', '\\*\\*', 'd\\*\\*', 'i\\*\\*', 'r\\*\\*', 'e\\*\\*', 'c\\*\\*', 't\\*\\*', 'o\\*\\*', 'r\\*\\*', 'y\\*\\*', '\\*\\*', 's\\*\\*', 'u\\*\\*', 'b\\*\\*', 'd\\*\\*', 'i\\*\\*', 'r\\*\\*']

请在python中看到我作为新手

1 个答案:

答案 0 :(得分:0)

您可以查看type的{​​{1}}并进行相应处理:

args["directories"]["dirname"]