我正在尝试将python对象与列表值连接以附加到另一个列表中。但我不知道如何以这种方式结合。
my_rec.append("old_date") # these three are defined date fields
my_rec.append("test_date")
my_rec.append("new_date")
for rec in record.record_ids:
var = "rec."+my_rec[new_date.month-1]
res.append(var) # it works well with res.append(rec.new_date)
但我有两个很多值可以这样做
有没有办法达到这个或任何建议? 感谢
答案 0 :(得分:1)
您可以使用此单行代码实现此目的:
res = [getattr(rec, r) for r in my_rec]
示例:强>
class Rec:
def __init__(self):
self.test_field = 'value1'
self.new_date = 'value2'
rec = Rec()
my_rec = ['test_field', 'new_date']
res = [getattr(rec, r) for r in my_rec]
<强>输出:强>
>>> res
['value1', 'value2']
答案 1 :(得分:1)
尝试以下解决方案:
my_rec.append("test_field") # i have field as 'test_field'
var = getattr(rec, my_rec[0]) # so that it will create 'rec.test_field'
res.append(var)
答案 2 :(得分:0)
你可以试试 var =“rec。”+ str(my_rec [0])