python - 从 Python 中的列表填充字典中的键元组和值

标签 python loops dictionary tuples

我有三个大列表,想要用来填充 Python 中字典的键和值。这是第一部分的一个小例子:

i = [0, 1, 2, 3, 4]
j = [2, 0, 0, 0, 0]
Cost = [13, 12, 13, 15, 13] 

我的目标是将 i 和 j 组合成一个元组键,并将成本作为值,如下所示:

Data = {(i[0],j[0]): cost[0], (i[1],j[1]): cost[1], }

我已经搜索过,但没有找到任何好的解决方案。那么有人知道如何通过循环或类似的方式填充字典和元组吗?目标是实现这一点:

Data = {(0, 2): 13, (1, 0): 12, (2, 0): 13, (3, 0): 15, (4, 0): 13}

Tnx!

最佳答案

zip 之后使用字典理解全部 ping 通:

>>> {(k1, k2): val for k1, k2, val in zip(i, j, Cost)}
{(0, 2): 13, (1, 0): 12, (2, 0): 13, (3, 0): 15, (4, 0): 13}

关于python - 从 Python 中的列表填充字典中的键元组和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43307692/

相关文章:

excel - 对有连字符的字母数字数据进行排序

python - 如何使用generate_events事件?

Python PIL - 在裁剪、缩放和保存时将颜色配置文件更改为未标记的 RGB

java - Java 中是否有相当于 Python 的 printf 哈希替换的方法?

C# 如何在循环中组合一些 Linq 表达式

c# - 为什么使用 ReaderWriterLockSlim 不能使我的 Dictionary 线程安全?

python - 防止 Celery Beat 运行相同的任务

ios - 快速循环数组

c# - 根据键对字典列表进行排序

c# - 根据计算对键/对进行排序