如何更改列表内字典中的字符串键| python3.6

如何更改列表内字典中的字符串键| python3.6,python,python-3.x,list,dictionary,key,Python,Python 3.x,List,Dictionary,Key,我想将密钥名“user\u id”更改为“sender”,例如: [{'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3', 'message_id': 1, 'user_id': 1000000}, {'chat_id': 'e3c2b14ded7a32c41bf0186b6172d8e3', 'message_id': 2, 'user_id': 1000000}, {'chat_id': 'e3c2b14ded7a32c41bf01

我想将密钥名“user\u 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}]
致:


我该怎么办?

只需在数据上循环,并适当地更改分配给
'sender'
输入您从
'user\u id'
获得的信息:

for d in data:
    d['sender'] = d.pop('user_id')

只需在数据上循环,并适当地更改分配给
'sender'
输入您从
'user\u id'
获得的信息:

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}]

没有循环怎么办?

单线解决方案:

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}]

哇!通常,在有人发布简单的循环解决方案之前,至少有五个人发布列表/目录理解:-)@StefanPochmann关于文档链接,改变了这一点。尽管dict.pop从2改为3:)哇。。。通常,在有人发布简单的循环解决方案之前,至少有五个人发布列表/目录理解:-)@StefanPochmann关于文档链接,改变了这一点。尽管几乎没有关于dict.pop的内容从2改为3:)