我开始学习F#,并且我正在努力弄清楚简单的事情。我有一个我想转换为F#的Python代码。问题是Python中字典的初始化,我不知道如何转换为F#。F#中的字典初始化类似于Python
dicoOfItems = {'aaaaa': {'a': 2.5, 'b': 3.5, 'c': 3.0, 'd': 3.5, 'e': 2.5,'f': 3.0}, 'bbbbb': {'a': 3.0, 'b': 3.5}}
然后有一个功能
def sim_distance(prefs,person1,person2):
si={} // I want the same in F#
for item in prefs[person1]:
if item in prefs[person2]: si[item]=1
// do stuff
return something
这个函数被调用,例如下面的参数
sim_distance(dicoOfItems, 'aaaaa', 'bbbbb')
我的问题是我怎么能获得一个做在F#相同新词典si?
Python if ... in .. list语法我尝试使用f#Seq.exists但后来我不知道如何初始化新的字典。
我玩过Seq.choose,Seq.map但没有成功。
不太确定你想要做什么,但你可以尝试使用'dict [('a',2.5);('b',3.5)...] ' –
我正在使用字典。我想要做的是和Python中的一样。 For循环和比较if .. In ..获得一个新的字典'si' –