编写用于创建具有默认值的命名元组的巨大列表的更简洁的方法
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)
我有一个命名的元组对象,其中定义了 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)