簡體   English   中英

循環使用Python列表中的幾個字典

[英]Looping over a couple of dictionaries within a list in Python

我有這個清單:

"guests_info": [
              {
                  "title": "Mr.",
                  "first_name": "John",
                  "mi": null,
                  "last_name": "Smith",
                  "suffix": "Sr.",
                  "age": "18+"
              },
              {
                  "title": "Mr.",
                  "first_name": "James",
                  "mi": null,
                  "last_name": "Jones",
                  "suffix": null,
                  "age": "18+"
              }
          ]

它是json。 因此,我要做的是創建一個像這樣的物體:

{

"profile": {
    "name": {
        "title": "Miss",
        "firstName": "Kairi",
        "lastName": "asdasd"
    },
    "age": 8
},
"preferences": {
    "avatarIdentifier": "15655408",
    "favoriteCharacterIdentifier": "15655408"
},
"friendsAndFamily": {
    "groupClassification": {
        "name": "TRAVELLING_PARTY"
    },
    "accessClassification": {
        "name": "PLAN_VIEW_SHARED"
    }
}

}

對於列表中的每個來賓,請對該網址執行POST:

https://env5.xxx.api.go.com/xxxxx/xxxx/id;swid=" + swid_id + "/managed-guests

Preferences之類的東西對於每個客人都是相同的。 我對python有一點點經驗。 我以為我必須將guests_info放入for循環中,並且對於每個字典,我都必須創建一個包含新主體的新字符串,但是我不確定如何准確計算guests_info有多少個字典。

任何幫助都會非常感激

就像@Cfreak建議的那樣,只需創建一個函數即可適當地發布您要發布的數據。 要創建該數據,您需要做的是遍歷列表,然后遍歷每個字典的鍵。

例如,

dict_list = [
        { 'foo' : 'baz',
          'bar' : 'qux'
          },
        { 'foo' : 'qux',
          'bar' : 'baz'
          }
        ]

隨后,在某個時候

for each in dict_list:
    for key in each:
        print(key + ": " + each[key])

請注意,數據不會按任何特定順序排列。 如果需要維護順序,則可以手動引用每個鍵。

要確定列表的長度,您可以

len(dict_list)將輸出2

如果您需要幫助來創建JSON查詢的正文,我當然可以提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM