代码之家  ›  专栏  ›  技术社区  ›  Preet Sangha

用字符串%s替换python中字符串的联接列表

  •  1
  • Preet Sangha  · 技术社区  · 15 年前

    ids = [1,2,3,4,5]
    

    看起来像“Id=1或Id=2或Id=3或Id=4或Id=5”

    我现在有一个答案,但我认为最好能得到专家组的意见

    编辑:更多信息反对者。。。

    2 回复  |  直到 15 年前
        1
  •  5
  •   kindall    15 年前
    " or ".join("id = %d" % id for id in ids)
    
        2
  •  1
  •   aaronasterling    15 年前
    mystring = 'id =' + 'or id ='.join(str(i) for i in ids)
    

    如果您想像注释中所指出的那样生成动态sql(不知道我是怎么漏掉的),那么您应该像

    mystring = ' or '.join(['id = ?']*len(ids))  
    

    哪里 ? 将被替换为数据库库的相应转义序列。对于sqlite3,这是 ?