书上的这段代码有看得懂得吗

dbaren 2017-12-17 10:23:04
frequent_itemsets[1] = dict((frozenset((movie_id,)),
row["Favorable"])
for movie_id, row in num_favorable_by_movie.iterrows()
if row["Favorable"] > min_support)

在书上看到这段代码,实在是看不懂啊, 有大神看的懂是啥意思的吗, 跪求解释啊, 为什么dict的初始化里面还可以用for in语句, 而且还感觉最后面的那个if语句没写完整 只有if 难道没有if的身体吗
...全文
171 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sprawling 2017-12-18
  • 打赏
  • 举报
回复
这个代码好像是python3的,python2不行
#!/usr/bin/env python3
# -*- coding:utf-8 -*-

def f1(max):
    a, b = 0, 1
    while(a < max):
        yield a, a+1
        a, b = b, a+b


my_dict1 = dict((x,y) for x , y in f1(300))
这个例子会不会好理解一点。
sanGuo_uu 2017-12-18
  • 打赏
  • 举报
回复
引用
row["Favorable"]) for movie_id, row in num_favorable_by_movie.iterrows() if row["Favorable"] > min_support
这个是遍历,满足if的就筛选出来。 你用个tmp赋值下,取出来看看就知道了: tmp=row["Favorable"]) for movie_id, row in num_favorable_by_movie.iterrows() if row["Favorable"] > min_support
dbaren 2017-12-18
  • 打赏
  • 举报
回复
引用 2 楼 u012536120 的回复:
引用
row["Favorable"])
for movie_id, row in num_favorable_by_movie.iterrows()
if row["Favorable"] > min_support

这个是遍历,满足if的就筛选出来。
你用个tmp赋值下,取出来看看就知道了:

tmp=row["Favorable"]) for movie_id, row in num_favorable_by_movie.iterrows() if row["Favorable"] > min_support

--------------------------------------------------------
这个报错呀 如下图:
extend 2017-12-18
  • 打赏
  • 举报
回复
我最烦一行代码了。。。
dbaren 2017-12-17
  • 打赏
  • 举报
回复


不好意思,提交后缩进就变了, 真实的缩进如上图那样

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧