编写用于创建具有默认值的命名元组的巨大列表的更简洁的方法

Neater way to write huge lists for creating named tuples with default values

我有一个命名的元组对象,其中定义了 63 个不同的项目。我使用 _make 函数。我认为这种方法可行,但 try except 语句需要多 4x63 行。必须有更好的方法:

AssetRow = collections.namedtuple('AssetRow', [
    "status",
    "computer_name",
    .
    .
    .
    61 more


def create_asset_row(Object):
    try:
        Object.status
    except
        Object.status = ""
    try:
        Object.computer_name
    except
        Object.computer_name= ""
    values = [
        Object.status,
        Object.computer_name,
        .
        .
        .
        61 more
    ]
    row = AssetRow._make(values)

基本上我想确保命名的元组设置为“”,如果我没有要放入的值....但我不想写 500 行来做到这一点.. .我要写67行左右

这样的东西行得通吗?我不太熟悉 namedtuple class.

names = ["status", "computer_name"]
AssetRow = collections.namedtuple('AssetRow', names)


def create_asset_row(Object):
    values = [getattr(Object, name, "") for name in names]
    row = AssetRow._make(values)