我开始学习 F#,我在试图弄清楚简单的事情时遇到了一些困难。我有一个要转换为 F# 的 python 代码。问题是python中字典的初始化,我真的不知道如何转换为F#。
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 但没有成功。