[python语法语义] 请教一个简单语句的语法

风声边界 2009-11-02

sum_of_squares=sum([pow(prefs[person1][item]-prefs[person2][item],2)

                                   for item in prefs[person1] if item in prefs[person2]])

 

pow(prefs[person1][item]-prefs[person2][item],2)是求一项平方和,后面是个循环,想问一下这是种什么格式,哪里可以查到标准的说明吗?谢谢指导

peikona 2009-11-11
这个是python里的列表解析,详情看http://docs.python.org/tutorial/datastructures.html#list-comprehensions
xml 2009-11-12
属于过滤表达式,先判断后面的if,再执行前面的内容,例如:
li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]
print [elem for elem in li if len(elem) > 1]
得到的结果是:
['mpilgrim', 'foo']
Global site tag (gtag.js) - Google Analytics