python 问题 高分 跪求解决

在py里面 我定义一个列表
condition=['%,1,%','%,2,%','%,3,%']
我这里是用来拼接sql语句的,
allstr=''
for con in condition:
str="or condition like "
str=str + '%s'
str=str % con
print str;
allstr=allstr + '%s'
allstr=allstr % str
print allstr;
print allstr;

我想要的结果是“or condition like ‘%,1,%’ or condition like ‘%,2,%’ or condition like ‘%,3,%’”
求各位大哥大姐指教,效率 250分

先将%用其他符号替代 如$ 符号,拼接玩字符串后,字符串.replace(‘$’,‘%’)

这样就行了 请给分吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-26
分数太诱人了,可惜看不懂,帮不上追问

悲剧了

追答

唉,你的问题太深奥了,确实

第2个回答  2011-05-26
这个 网上有 你自己 找找 我也忘了
第3个回答  2011-05-26
"".join(["or condition like '%s'"%s for s in condition])
第4个回答  2011-05-26
lqefn的代码可用,不过在'%s'那里后面需要一个空格,不然后面的"or" 会与前面的'%,1,%'连起来追问

...我是py菜鸟额 由于需要 所以才找这些东西。。。lqefn 我都不知道是什么

追答

lqefn是我前面那个人,他回答的 "".join(["or condition like '%s'"%s for s in condition])

追问

join我试过了。。。不行把。。。%s报错哦。。。。

追答

我刚刚试过了,那句代码可用,你小心一点,里面的单引号双引号别搞错了就行

相似回答
大家正在搜