首页 > 解决方案 > 循环遍历列表并在函数内返回列表

问题描述

我正在尝试返回一个列表,当我返回时我得到了不同的结果

def list_book():
    lines = [['eofih', 'sdf', 'False'], ['sfdds', 'afds', 'False']]

    books = [{"name": line[0], "author": line[1], "read": line[2]}
        for line in lines
    ]
    return books

这完美地返回:

[{'name': 'eofih', 'author': 'sdf', 'read': 'False'},{'name': 'sfdds', 'author': 'afds', 'read': 'False'}]

但是当我尝试如下操作时:

def list_book():
    lines = [['eofih', 'sdf', 'False'], ['sfdds', 'afds', 'False']]
    
    for line in lines:
        books = [{"name": line[0], "author": line[1], "read": line[2]}]

    return books

这仅返回列表中的最后一个条目:

    [{'name': 'sfdds', 'author': 'afds', 'read': 'False'}]

请让我知道是否可以在第二个选项中返回整个列表。

标签: python-3.xlistdictionary

解决方案


def list_book():
    lines = [['eofih', 'sdf', 'False'], ['sfdds', 'afds', 'False']]
    books = []
    for line in lines:
        books += [{"name": line[0], "author": line[1], "read": line[2]}]

    return books

推荐阅读