[英]How do I initialize a dictionary with a list of keys and values as empty sets in python3.6?
[英]how to change string key in dictionary inside list | python3.6
我想將鍵名'user_id'更改為'sender'例如:
[{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 1,
'user_id': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 2,
'user_id': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 3,
'user_id': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 4,
'user_id': 1000000}]
至 :
[{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 1,
'sender': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 2,
'sender': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 3,
'sender': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 4,
'sender': 1000000}]
我該怎么辦?
只需遍歷數據並更改將適當的分配給'sender'
鍵的字典,即可從'user_id'
pop
:
for d in data:
d['sender'] = d.pop('user_id')
沒有循環怎么辦?
一線解決方案:
list(map(lambda x:x.__setitem__('sender',x.pop('user_id')),your_data))
數據是:
your_data=[{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 1,
'user_id': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 2,
'user_id': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 3,
'user_id': 1000000},
{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3',
'message_id': 4,
'user_id': 1000000}]
輸出:
[{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3', 'message_id': 1, 'sender': 1000000}, {'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3', 'message_id': 2, 'sender': 1000000}, {'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3', 'message_id': 3, 'sender': 1000000}, {'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3', 'message_id': 4, 'sender': 1000000}]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.