Python items() 方法

Python 字典的 items() 函数一列表返回可遍历的 (键, 值) 元组列表。

简单示例:

dict = {'Name': 'Zara', 'Age': 7}

print "Value : %s" %  dict.items()

输出:
Value : [('Age', 7), ('Name', 'Zara')]

要注意的是,今天遇到一个 OrderedDict 使用的这个 items() 方法:

# -*- coding: utf-8 -*-
# @File  : ex5_15.py
# @Author: FanLu
# @Date  : 2021/2/22

from inspect import signature

def clip(text:str, max_len=80):
    """在 max_len 前面或后面的最后空格处截断文本,
    即,如果长度大于 80,那么找到 80 之后的第一个空格,
    然后从开头阶段至找到的空格处;如果长度小于 80,则将
    原来的字符串返回。当然,返回结果的倒数第一步是将前后的空格给去掉"""
    end = None
    if len(text) > max_len:
        space_before = text.rfind(' ', max_len)
        if space_before >= 0:
            end = space_before
        else:
            space_after = text.rfind(' ', max_len)
        if space_after >= 0:
            end = space_after
    if end is None: # 没找到空格
        end = len(text)
    return text[:end].rstrip()
print(clip.__defaults__)
print(clip.__code__)
print(clip.__code__.co_varnames)
print(clip.__code__.co_argcount)
print('---------')
sig = signature(clip)
print(sig)
print(sig.parameters)
print(sig.parameters.items())
输出:
(80,)
<code object clip at 0x0000017F9314AEA0, file "E:/Users/19833/PycharmProjects/FluentPython/ch05/ex5_15.py", line 8>
('text', 'max_len', 'end', 'space_before', 'space_after')
2
---------
(text: str, max_len=80)
OrderedDict([('text', <Parameter "text: str">), ('max_len', <Parameter "max_len=80">)])
odict_items([('text', <Parameter "text: str">), ('max_len', <Parameter "max_len=80">)])
posted @ 2021-02-23 00:28  模糊计算士  阅读(968)  评论(0)    收藏  举报