[英]How to move key and values from dictionary to list?
我试图将“Brian”的键值对添加到“confirmed_users”列表中,但只能获取所述字典的值。 我怎样才能得到两者?
state = True
confirmed_users = []
unconfirmed_users = {
"Brian": {
"Age": 21,
"Size": 12,
"username": "Danny. B"
}
}
while state == True:
task_confirming = input("Enter name to be confirmed: ")
if task_confirming == "Brian":
for key, value in unconfirmed_users.items():
confirmed_users.append(unconfirmed_users["Brian"])
del unconfirmed_users["Brian"]
print(confirmed_users[0])
print(unconfirmed_users)
输入:
Brian
Output:
{'Age': 21, 'Size': 12, 'username': 'Danny. B'}
{}
几个小技巧:
你用键“Brian”和相应的值创建一个新字典,它是 append。
不需要循环遍历项目
您也可以使用pop
删除字典的入口
state = True
confirmed_users = []
unconfirmed_users = {
"Brian": {
"Age": 21,
"Size": 12,
"username": "Danny. B"
}
}
while state == True:
task_confirming = input("Enter name to be confirmed: ")
if task_confirming == "Brian":
confirmed_users.append({task_confirming: unconfirmed_users.pop(task_confirming)})
print(confirmed_users[0])
print(unconfirmed_users)
取决于你想要的格式。
confirmed_users.append( (key, value) )
将添加一个元组 (string, dict)
("Brian" , {"Age": 21,"Size": 12,"username": "Danny. B"})
要添加字典,请参阅卢卡斯的回答。
关于可伸缩性的注意事项: username in confirmed_users
其中 confirmed_users 是一个相对较慢的列表。 与查看列表的每个元素相比,由于 hash 查找,使用包含所有信息或一组用户名的字典会快得多。
旁注:这将对列表中的所有项目执行一个持续的操作,可能不是你想要的;)
for key, value in unconfirmed_users.items():
confirmed_users.append(unconfirmed_users["Brian"])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.