python - 字典中的元组列表
问题描述
我在理解 python 如何将元组列表转换为字典时遇到了一些问题。例如,
from itertools import combinations as comb
a=[1,2,3,4]
l_t=list(comb(a,2))
print(l_t)
d_t=dict(l_t)
print(d_t)
输出是:
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
{1: 4, 2: 4, 3: 4}
我只是想知道如果我们有几个相等的键,转换过程中会发生什么。我不明白为什么键“1”只有一个值,键“2”只有一个值等等?抱歉,可能是个愚蠢的问题,但我已经找到了答案,提前谢谢你。
解决方案
正如我们所看到的,生成的 dict 包含每个元组的最后一个元素[0]
[(1, 2), (1, 3), ( 1 , 4), (2, 3), ( 2 , 4), ( 3 , 4)]
{1:4, 2:4, 3:4}
这意味着代码
dict(list_of_tuples)
像这样工作:
d = {}
lst = [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
for x in lst:
d[x[0]] = x[1]
推荐阅读
- php - 如何从浏览器在 s3 中创建新的“文件夹”
- c++ - 如何使用迭代器在向量中的不同位置插入多个元素?
- python - Pandas GroupBy.agg() 抛出 TypeError: aggregate() 缺少 1 个必需的位置参数:'arg'
- python - 带有身份验证的 API 请求:Python 的请求与 R 的 httr
- haskell - 使用 Stack 构建模块是否可以在全球范围内使用?
- javascript - 如何在表单中使用 getelementbyID 获取复选框的值
- javascript - 如何使此 google 脚本代码不那么重复?
- mysql - 如何创建一个存储函数,如果它不为空,则返回一个值?
- react-native-navigation - 如何检查模态是否打开
- java - 负向后看:后缀重复时如何停止匹配?