社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

在列表字典中按值获取键-python

Arnoldo Oliva • 3 年前 • 1343 次点击  

我有一个包含键的字典,键同时包含一个特定的整数列表。我想构建一个dict,它将值显示为键,这个新dict的值将是包含前一个值的前一个键的列表。例如,我有:

turns

{'Monday_2022_03_14': [25, 17, 2, 32, 43, 40, 23, 7, 19, 16],
 'Tuesday_2022_03_15': [33, 10, 16, 31, 25, 22, 43, 41, 21, 28, 3, 30, 29],
 'Wednesday_2022_03_16': [19, 27, 40, 3, 9, 2, 14, 21, 44, 17],
 'Thursday_2022_03_17': [16, 23, 1, 30, 29, 44, 5, 42, 27, 19],
 'Friday_2022_03_18': [6, 17, 2, 29, 27, 41, 44, 5, 40, 42]}

我想举个例子:

{1:['Thursday_2022_03_17'],
 2:['Monday_2022_03_14','Wednesday_2022_03_16','Friday_2022_03_18'],
 3:['Tuesday_2022_03_15','Wednesday_2022_03_16],
 ...}  #and so on

我试图在循环中实现下一个解决方案(我在 Get key by value in dictionary ),但后来我意识到这只能在只有一个值的dict中工作,而不是像我这样的列表:

list(turns.keys())[list(turns.values()).index(16)]
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_19168/930684082.py in <module>
----> 1 list(turns.keys())[list(turns.values()).index(16)]

ValueError: 16 is not in list

如果你不提供循环解决方案也没关系,我可以实现它,但我需要帮助按值获取键名(如上面的一行),但重点是一个列表,而不是一个简单的值。

谢谢大家。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130580
 
1343 次点击  
文章 [ 1 ]  |  最新文章 3 年前