python - python字典循环多个值并将它们作为单个键的单个列表值返回
问题描述
names={"animal":"cat","animal":"dog","animal":"rat","bird":"humming"}
names_dict={}
for k,v in names.items():
names_dict.setdefault(k,[]).append(v)
print (names_dict)
我想要的输出应该是:
{'animal': ['rat','cat','dog'], 'bird': ['humming']}
但我得到的输出是这个
{'animal': ['rat'], 'bird': ['humming']}
有人可以告诉我我做错了什么吗?
解决方案
Python 字典中的键应该是唯一的。您重复了'animal'
三次相同的键,Python 保留了最后1 个动物键的值。从官方文档,
最好将字典视为一组键:值对,并要求键是唯一的(在一个字典中)。
1. 注意last也可以很模糊。根据您拥有的 Python 版本,它可能是一致的,但通常不能保证。
推荐阅读
- javascript - “固定”元素内的“粘性”元素向相反方向滑动
- powerbi - 带有多个筛选器的 Power BI DAX 运行总计
- html - 无法使用 CSS 删除内容框上的间距
- sharepoint - 哪个 SharePoint API 使用 JSOM 或 REST?
- python - 如何解决:DLL 加载失败:找不到文件 tensorflow.python._pywrap_tensorflow_internal
- reactjs - How do I redirect to another page upon search in React js?
- java - Java RestTemplate 如何使用正文发布
- javascript - 从 key 获取 JSON 值,其中 key 是变量名
- ruby - 如何在 mac 版本 10.15.5 上更新 ruby
- ios - 在 Game Center 中连接的设备之间发送数据时出错