3 回答

TA貢獻1847條經驗 獲得超7個贊
如果我理解正確,您希望將值附加到現(xiàn)有字典中的數(shù)組,例如以下字典:
_dict = {
"restaurantName": "Restaurant 1",
"restaurantLink": "Link 1",
"restaurantType": "Type 1",
"restaurantAddress": "Address 1",
"dateRetrieved": "14-11-2018",
"review": [
{
"reviewer": "Reviewer 1",
"reviewDetail": "Review Detail 1"
},
{
"reviewer": "Reviewer 2",
"reviewDetail": "Review Detail 2"
},{
"reviewer": "Reviewer 3",
"reviewDetail": "Review Detail 3"
}
]
}
將價值附加到審查中:
_dict['review'].append( {
"reviewer": "Reviewer 4",
"reviewDetail": "Review Detail 4"
})
在您的情況下,如果 HungrygowhereItem 是字典:
for review in reviews:
if 'review' in HungrygowhereItem:
HungrygowhereItem['review'].append({
'reviewer': reviewer,
'reviewDetail': reviewDetail
})
else:
HungrygowhereItem['review'] = [{
'reviewer': reviewer,
'reviewDetail': reviewDetail
}]

TA貢獻1895條經驗 獲得超7個贊
首先,將鍵的值設為'review'列表。
>>> restaurant = {
...: "restaurantName": "Restaurant 1",
...: "restaurantLink": "Link 1",
...: "restaurantType": "Type 1",
...: "restaurantAddress": "Address 1",
...: "dateRetrieved": "14-11-2018",
...: "review": {
...: "reviewer": "Reviewer 1",
...: "reviewDetail": "Review Detail 1"
...: }
...:}
>>>
>>> restaurant['review'] = [restaurant['review']]
>>> restaurant['review']
>>> [{'reviewDetail': 'Review Detail 1', 'reviewer': 'Reviewer 1'}]
現(xiàn)在您可以附加到該列表。
>>> reviews = [{"reviewer": "Reviewer 2",
...: "reviewDetail": "Review Detail 2"},
...: {"reviewer": "Reviewer 3",
...: "reviewDetail": "Review Detail 3"}]
...:
>>> for review in reviews:
...: restaurant['review'].append(review)
...:
>>> restaurant['review']
>>>
[{'reviewDetail': 'Review Detail 1', 'reviewer': 'Reviewer 1'},
{'reviewDetail': 'Review Detail 2', 'reviewer': 'Reviewer 2'},
{'reviewDetail': 'Review Detail 3', 'reviewer': 'Reviewer 3'}]
如果您可以修復上游代碼,您也可以restaurant在defaultdict沒有'review'密鑰的情況下創(chuàng)建一個。
>>> from collections import defaultdict
>>> restaurant = {
...: "restaurantName": "Restaurant 1",
...: "restaurantLink": "Link 1",
...: "restaurantType": "Type 1",
...: "restaurantAddress": "Address 1",
...: "dateRetrieved": "14-11-2018"
...:}
>>>
>>> restaurant = defaultdict(list, restaurant)
>>> reviews = [{"reviewer": "Reviewer 1",
...: "reviewDetail": "Review Detail1"},
...: {"reviewer": "Reviewer 2",
...: "reviewDetail": "Review Detail 2"},
...: {"reviewer": "Reviewer 3",
...: "reviewDetail": "Review Detail 3"}]
...:
>>> restaurant['reviews'].extend(reviews)
>>> restaurant['reviews']
>>>
[{'reviewDetail': 'Review Detail1', 'reviewer': 'Reviewer 1'},
{'reviewDetail': 'Review Detail 2', 'reviewer': 'Reviewer 2'},
{'reviewDetail': 'Review Detail 3', 'reviewer': 'Reviewer 3'}]
作為替代restaurant是一個defaultdict,你可以只設置鍵值'reviews'添加任何評論之前,空單。

TA貢獻1860條經驗 獲得超8個贊
你必須從一些不同的review結構開始:
restaurant = {
...,
"review": []
}
請注意,這review是此處的列表。
因此,向該列表添加評論只是一個基本的列表操作:
restaurant['review'].append({
"reviewer": "Reviewer 1",
"reviewDetail": "Review Detail 1"
})
添加回答
舉報