[英]how to change string key in dictionary inside list | python3.6
I want to change key name 'user_id' to 'sender' as example : 我想将键名'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}]
to : 至 :
[{'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}]
what shoud I do? 我该怎么办?
What about without loop ? 没有循环怎么办?
One line Solution: 一线解决方案:
list(map(lambda x:x.__setitem__('sender',x.pop('user_id')),your_data))
data is: 数据是:
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}]
output: 输出:
[{'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.