我在获取结果以成对的列表中显示信息时遇到麻烦。

def add_sizes(strings):
    """Return the list of pairs consisting of the elements of strings together
    with their sizes.

    add_sizes(list<string>) -> list<(string, integer)>
    """
        c = []
        for i in strings:
            c.append(i)
            c.append(len(i))
        return c


我得到的结果是:

>>> add_sizes(['sun', 'a'])['sun', 3, 'a', 1]

我所追求的是:

>>> add_sizes(['sun', 'a'])[('sun', 3), ('a', 1)]

最佳答案

您需要附加元组而不是附加两次:

c.append((i, len(i)))


另外,更pythonic的方法是使用列表理解:

def add_sizes(strings):
    return [(i, len(i)) for i in strings]

关于python - 返回由字符串元素及其长度组成的对列表-Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25417488/

10-12 16:45