Python dictionary items()系列函数的使用

本文探讨了Python字典的items()方法在2.x和3.x版本中的变化,以及与iteritems()、viewitems()的区别。在2.x中,items()返回列表,而iteritems()返回迭代器以节省内存。3.x中,items()直接返回反映字典变化的视图对象,与2.7新增的viewitems()一致。在3.x中,不再需要区分items()与其他两者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源自《Python cookbook》第3版7.1节第2个例子:

import html    # available only in Python 3.x

def make_elements(name, value, **attrs):
    keyvals = [' %s="%s"' % item for item in attrs.items()]
    attr_str = ''.join(keyvals)
    element = '<{name}{attrs}>{value}</{name}>'.format(
            name = name,
            attrs = attr_str,
            value = html.escape(value))
    return element

make_elements('item', 'Albatross', size='large', quantity=6)

make_elements('p', '<spam>')

程序的作用很简单,就是生成HTML标签,注意html这个模块只能在Python 3.x才有。

起初我只是注意到,生成标签属性列表的keyvals这个dictionary类型变量构建的方式很有意思,两个%s对应一个item,所以就查阅了相关的资料,结果扯出了挺多的东西,在此一并总结。

注:下面所有Python解释器使用的版本,2.x 对应的是2.7.3,3.x 对应的是3.4.1

在 Python 2.x

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值