猿问

不同查询参数生成不同查询语句

我能问个简单的问题么?怎么根据参数的不同拼接查询信息,比如:
当参数为一个{1:"a"}
table.cell(row,1).value.strip() == a
参数是两个{1:"a",2:"b"}
table.cell(row,1).value.strip() == a and table.cell(row,2).value.strip() == b
参数为任意个,请问我怎么任意传入一个**args,进行相关的查询操作。


互换的青春
浏览 328回答 1
1回答

慕田峪9158850

condition = {1:"a",2:"b",3:"c"}def exec_and(c1,c2):     return c1 and c2 args = [table.cell(row,k).value.strip() == v for k,v in condition.items()] reduce(exec_and,args)## 简单点就是:condition = {1:"a",2:"b",3:"c"} reduce(lambda c1,c2: c1 and c2,     [table.cell(row,k).value.strip() == v for k,v in condition.items()]     )
随时随地看视频慕课网APP
我要回答