这两个陈述在Python中意味着什么?
distances[(clust[i].id,clust[j].id)]=distance(clust[i].vec,clust[j].vec)
d=distances[(clust[i].id,clust[j].id)]
我猜第一个语句会将距离映射的clust[i].id
和clust[j].id
个键分配给distance(..)
函数的结果。但是,我很困惑,因为列表是使用[]
和使用Python中{}
的词典表示的。什么是正确的答案?
答案 0 :(得分:6)
字典文字使用{}
。无论类型如何,索引操作都使用[]
。
答案 1 :(得分:4)
distances[(clust[i].id,clust[j].id)]=distance(clust[i].vec,clust[j].vec)
distances
是一个词典,其中键是可能整数的元组,值是它们之间通过distance
函数测量的距离。
在第二行:
d=distances[(clust[i].id,clust[j].id)]
d
变量刚刚分配给该距离,访问刚分配的字典值。
其他答案提供了什么是字典的摘要。
答案 2 :(得分:2)
希望这会说得很清楚:
>>> a = {}
>>> a[1] = 2
>>> a[(1, 2)] = 3
>>> a
{(1, 2): 3, 1: 2}