免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2862 | 回复: 10
打印 上一主题 下一主题

python 新手问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-06 16:34 |只看该作者 |倒序浏览
刚开始学习python  

看到python 有个函数有这样一个判断条件 实在不懂什么意思 望各位高手解释一下 谢谢


“href = [v for k, v in attrs if k == 'href']” v for k, v in attrs if k == 'href'这句话是什么意思 ????


def start_a(self, attrs):
                href = [v for k, v in attrs if k == 'href']
                if href:         
                     self.url.extend(href)

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
2 [报告]
发表于 2012-09-06 16:40 |只看该作者
列表生成器, 字典生成器, 其实最终都是一个迭代生成器.

论坛徽章:
0
3 [报告]
发表于 2012-09-06 16:50 |只看该作者
能不能举个例子  多谢

论坛徽章:
0
4 [报告]
发表于 2012-09-06 17:27 |只看该作者
可以这样理解:
for k,v in attrs:
    if(k=='href')
        href.append(v)
href=tuple(href)

论坛徽章:
0
5 [报告]
发表于 2012-09-06 17:47 |只看该作者
前三步是个字典 ,最后怎么是个元组 。 不能理解你意思

论坛徽章:
0
6 [报告]
发表于 2012-09-06 18:00 |只看该作者
Er..错了。
应该是这样:
for k,v in attrs:
    if(k=='href')
        href=v
href=tuple(href)

其实这句的意思就是从字典中找到键是href的值(如果有多个相同的键,则会找到最后一个)。
至于元组,则是由表达式外面的[]决定的

论坛徽章:
0
7 [报告]
发表于 2012-09-06 21:21 |只看该作者
啊 还是没有理解你说的意思啊  能不能在详细的说下啊 多谢多谢

论坛徽章:
0
8 [报告]
发表于 2012-09-07 10:43 |只看该作者
试试这个程序,然后再自已想想吧...
attr={"a":1,"b":2,"c":3,"d":3,"e":4,"f":3,"e":5,"e":8}
attrs=attr.items()
for (k,v) in attrs:
        print(k+"==>"+str(v));
result=[v for k,v in attrs if k=="e"]
print(result)

论坛徽章:
0
9 [报告]
发表于 2012-09-07 11:05 |只看该作者
实在 太感谢了  明白了 和hash差不多 已只知道键求值

论坛徽章:
0
10 [报告]
发表于 2012-09-07 20:06 |只看该作者
感谢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP