python - 从稀疏数据创建 python 列表推导
问题描述
我有两个列表(键和值),它们定义了一个稀疏定义的列表,每个键位置都有值。我想将其转换为每个位置都有值的密集列表。我可以用一个 for 循环来做到这一点,如下所示。
keys = [1,3,5]
values = [1.0, 3.0, 5.0]
column = [None]*10
for i, k in enumerate(keys):
column[k] = values[i]
column
>>> [None, 1.0, None, 3.0, None, 5.0, None, None, None, None]
是否可以使用列表理解创建列?
解决方案
您可以简单地使用这个单线list comprehension
:
column =[None if i not in dict(zip(keys,values)).keys() else dict(zip(keys,values))[i] for i in range(10)]
输出:
[None, 1.0, None, 3.0, None, 5.0, None, None, None, None]
推荐阅读
- python - 如何在云端部署深度学习模型?
- android-source - Android 模拟器在成功构建 aosp 后无法启动
- c# - 在 Unity 场景中激活暂停菜单窗口时如何锁定我的相机视图?
- node.js - Angular Universal 服务器快速部署到生产错误
- python - 如何使用 BeautifulSoup 从属于多个类的网站中抓取元素
- c# - 如何使用 EPPlus 以逗号分隔小数以生成 Excel
- proxy - 在 Windows 上使用 Mitm 代理
- css - 为什么 font-face 在我的项目中不起作用?
- python - PIL不会第二次在图像上写入文本
- sql - MS Access:将不同表中关于同一组用户的不同数据合并到一个表中