मेरा स्रोत शब्दकोश कुछ इस तरह है (उदाहरण के लिए केवल कुछ स्तंभों का उल्लेख करना)

{'aws_resource_name': 'abcd', 'resource_type': 'instance', 'policies': ['LAB_TEMP']}

मैं जेसन प्रारूप में स्ट्रिंग के रूप में मानों की तरह सूची प्राप्त करने का प्रयास कर रहा हूं

info=[]
    Account_Name=acc_name
    for resource in result[acc_name]["resources"]:
        if (Hostname==resource["aws_resource_name"]):
            print(resource)
            #Policy =(resource["policies"]) 
            Policy = resource['policies']
            info.append({"Account Name": Account_Name ,"policy Name": Policy })
    print(info)

वर्तमान आउटपुट:

[{'Account Name': 'xxxxxx', 'policy Name': ['LAB_TEMP']}]

अपेक्षित आउटपुट:

[{'Account Name': 'xxxxxx', 'policy Name': 'LAB_TEMP'}]

समस्या यह है कि कुछ मान स्रोत में हैं, सूची प्रकार है, मुझे स्ट्रिंग में कनवर्ट करने की आवश्यकता है, जबकि मैं अंत में जेसन पर प्रिंट करता हूं

0
asp 4 जुलाई 2020, 13:30

1 उत्तर

सबसे बढ़िया उत्तर

यदि आपके उपयोग के मामले में यह शामिल है कि "पॉलिसी" सूची में या तो केवल एक मान होगा या पहला मान वह है जिसकी आवश्यकता होगी तो आपको बस अपने कोड में 0 वीं अनुक्रमणिका जोड़ने की आवश्यकता है अर्थात नीति = संसाधन ['नीतियां'] [0] यदि कभी-कभी इसका कोई मूल्य नहीं हो सकता है, तो आपको उसके लिए भी एक चेक जोड़ना होगा

2
Shaurya Gupta 4 जुलाई 2020, 13:40