使用特定的键名和值修改和合并所有di来构建python dict项

2024-06-26 10:12:39 发布

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

我正在尝试用特定的键名和值修改构建python dict项,并合并所有dict

#!/usr/bin/python

def Cftemplatebuild():
templateBucketName = {
    "NewBucketName" : {
        "Description" : "Bucket name",
        "Type" : "String",
        "Default": "bucketname",
        "AllowedPattern" : "[-a-z0-9\\-]*",
        "ConstraintDescription" : " Must be lowercase no spaces."
    }
}
i = 1
TemplateBucketName = {}
TemplateBucketPolicy = {}
bucketNameWithLink = [('TEST','TEST-LINK'),('PROD','PROD-LINK')]
for items in bucketNameWithLink: 
    print "ITEMS"
    print items[0]
    print items[1]
    print "BUCKET NAME CREATION"
    print 'actual', templateBucketName
    templateBucketNamecpy = templateBucketName.copy()
    print 'copy',templateBucketNamecpy
    templateBucketNamecpy['NewBucketName'+str(i)] = 
templateBucketNamecpy.pop('NewBucketName')
    print 'Modified key name', templateBucketNamecpy
    templateBucketNamecpy['NewBucketName'+str(i)]['Default'] = items[0]
    templateBucketNamecpy1 = templateBucketNamecpy.copy()
    print 'Modfied key value',templateBucketNamecpy
    print 'Copy Modified key value',templateBucketNamecpy1
    print "templateBucketName-1"
    print TemplateBucketName
    TemplateBucketName.update(templateBucketNamecpy1)
    print TemplateBucketName
    #templateBucketName['NewBucketName'] = 
templateBucketName.pop('NewBucketName'+str(i))
    print "templateBucketName-revert"
    #print TemplateBucketName
    print 'EnD actual',templateBucketName
    print "BUCKET NAME CREATION ENDS"
    i= i + 1
if __name__ == "__main__":
   Cftemplatebuild()

预期产量:

{'NewBucketName1': {'Default': 'TEST', 'AllowedPattern': '[-a-z0-9\-]', 'Type': 'String', 'Description': 'Bucket name', 'ConstraintDescription': ' Must be lowercase no spaces.'}, 'NewBucketName2': {'Default': 'PROD', 'AllowedPattern': '[-a-z0-9\-]', 'Type': 'String', 'Description': 'Bucket name', 'ConstraintDescription': ' Must be lowercase no spaces.'}}

实际输出:

{'NewBucketName1': {'Default': 'PROD', 'AllowedPattern': '[-a-z0-9\-]', 'Type': 'String', 'Description': 'Bucket name', 'ConstraintDescription': ' Must be lowercase no spaces.'}, 'NewBucketName2': {'Default': 'PROD', 'AllowedPattern': '[-a-z0-9\-]', 'Type': 'String', 'Description': 'Bucket name', 'ConstraintDescription': ' Must be lowercase no spaces.'}}


Tags: namedefaultstringbuckettypedescriptionbeprint