使用列表中的变量或项作为代码的一部分(而不是字符串或变量)还是变量本身?

时间:2019-03-15 07:09:17

标签: python python-3.x variables sqlalchemy

我有一个字符串列表。

list=['cretd_dt','rcvd_dt']

实际代码是:

query = table.update().values(
        cretd_dt = Join_All_Dates.iloc[index]['cretd_dt'],
        rcvd_dt= Join_All_Dates.iloc[index]['rcvd_dt'])

我希望从列表内部使用cretd_dt=rcvd_dt=。也就是说,如果列表中有a,b,则在查询中它必须是。values( a=join[index]['a'])等。

list=['a','b']
query = table.update().values(
            a = Join_All_Dates.iloc[index]['a'],
            b= Join_All_Dates.iloc[index]['b'])

1 个答案:

答案 0 :(得分:1)

构建一个dict并将其解压缩为values()的参数:

# Don't shadow builtins such as list
the_list = ['a', 'b']
query = table.update().values(**{k: Join_All_Dates.iloc[index][k] for k in the_list})

尽管您不需要解压缩,因为Update.values()也直接接受dict作为位置参数。