Python F#地图/集合理解
我正在寻找类似于Python中dict/list/set理解的东西。在Python中,您可以执行以下操作:Python F#地图/集合理解,python,f#,functional-programming,list-comprehension,Python,F#,Functional Programming,List Comprehension,我正在寻找类似于Python中dict/list/set理解的东西。在Python中,您可以执行以下操作: [x+2 for x in list if x > 10] set [for x in list do if x > 10 yield x+2] 在F中# 但在Python中,您还可以执行以下操作: {x+2 for x in list if x > 10} 生成集合,以及 {k: (v+10)/2 for k, v in list.items() if k >
[x+2 for x in list if x > 10]
set [for x in list do if x > 10 yield x+2]
在F中#
但在Python中,您还可以执行以下操作:
{x+2 for x in list if x > 10}
生成集合,以及
{k: (v+10)/2 for k, v in list.items() if k > 5}
生成Dicts。在F#中,这类东西是否有任何等价的语法(无论是函数还是总体整洁度)?本质上,F#对此没有特殊的语法,但您可以使用数组或列表理解,并将结果传递给提供给标准库的函数
let intSet = set [for x in list do if x > 10 yield x+2]
let intMap = dict [for (x, y) in list do if x > 10 yield (x,y+2)]
有一个
set
函数接受seq
,因此您可以执行以下操作:
[x+2 for x in list if x > 10]
set [for x in list do if x > 10 yield x+2]
与dict相同。以下是相关文件:
设置
:dict
: