字典到元组:为什么它不接受所有值?

Dict to tuple : why does it not take all values?

我将字典转换为元组,因此它可以被哈希化。

DATA_ILLUMINANTS = {
'LED': tuple({
    380.0: 0.006,
    385.0: 0.013,
    ...
    780.0: 0.108,})
    }

当我打印元组时,没有第二列数据,它是:

(380.0, 385.0, 390.0, 395.0, 400.0, ... , 780.0)

知道为什么吗?

我在另一个代码中使用 'LED' 元组,return 出现以下错误:AttributeError: 'tuple' object has no attribute 'shape' 我想这是因为元组中缺少数据。

迭代字典(这就是 tuple() 所做的)迭代键。

你会想要 tuple({...}.items()) 得到一个二元组的元组。

>>> x = {1: 2, 3: 4, 5: 6}
>>> tuple(x)
(1, 3, 5)
>>> tuple(x.items())
((1, 2), (3, 4), (5, 6))
>>>

tuple() 将遍历给定的对象,这里是一个字典。字典遍历键,这就是原因。您可以强制它迭代项目: tuple({ 380.0: 0.006, 385.0: 0.013, ... 780.0: 0.108,}.items() )