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

时间:2017-12-07 22:05:46

标签: python list object namedtuple

我有一个名为tuple的对象,其中包含63个不同的项目。我使用_make函数。我认为这种方法可行,但需要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行

1 个答案:

答案 0 :(得分:1)

这样的事情会起作用吗?我对namedtuple课程并不太熟悉。

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)