4 回答

TA貢獻(xiàn)1951條經(jīng)驗 獲得超3個贊
如果您的意思是獲取鍵為元的值,則可以使用next
和理解:
data = ["{'meta':'projects/us/conf/94eb2c1f0574'}","{'del':'projects/us/conf/001a1143e726'}"]
>>> next(v for (k, v) in map(dict.items, data) if k == 'meta') projects/us/conf/94eb2c1f0574

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊
快速修復(fù)是使用 json.loads 將 data[0] 轉(zhuǎn)換為 dict -
value = json.loads(d[0].replace('\'','"'))['meta']

TA貢獻(xiàn)1765條經(jīng)驗 獲得超5個贊
假設(shè)這是數(shù)組加載到變量data,data[0]是一鍵字典'meta'。從那里,您可以通過傳遞名稱來訪問該密鑰。
>>> data = [{'meta':'projects/us/conf/94eb2c1f0574'}, {'del':'projects/us/conf/001a1143e726'}]
>>> data[0]['meta']
'projects/us/conf/94eb2c1f0574'

TA貢獻(xiàn)1810條經(jīng)驗 獲得超5個贊
如果您的輸入看起來確實像那樣(糟糕的 api 設(shè)計,或 API 中的錯誤)
你可以將每個加載為 json
fixed = [json.loads(string_thing.replace("'",'"')) for string_thing in response_array]
>>> fixed[0]['meta']
u'projects/us/conf/94eb2c1f0574'
>>> fixed[1]['del']
u'projects/us/conf/001a1143e726'
如果你想讓它成為一個大字典
data = {}
for string_thing in response_array:
# this assumes the strings are valid json and always dicts
data.update(json.loads(string_thing.replace("'",'"')))
>>> data
{u'meta': u'projects/us/conf/94eb2c1f0574', u'del': u'projects/us/conf/001a1143e726'}
>>> data['meta']
u'projects/us/conf/94eb2c1f0574'
>>> data['del']
u'projects/us/conf/001a1143e726'
添加回答
舉報