我是Python的新手,我想创建一个这样的字符串:
print("{} INNER JOIN {}".format(table1, table2))
问题是table1
和table2
存储在列表tables_list = ['table1','table2']
中,我不知道该列表中有多少值,所以如果我只有该列表中的一个项目,打印结果将是:
table1
没有加入。
我想我应该在tables_list
上循环,但在这种情况下,我似乎无法弄清楚如何使用format
。
任何帮助将不胜感激。
答案 0 :(得分:2)
您可以将join
与切片结合使用。
" INNER JOIN ".join(tables_list[:2])
虽然看起来你正在尝试构建一个SQL查询,所以我警告你应该警惕滚动你自己的查询构建器。查看您使用的任何DB库的文档,以确保您不会重写他们已经为您做的事情。
答案 1 :(得分:1)
你可以这样做:
>>> tables_list = ['table1','table2']
>>> print("{} INNER JOIN {}".format(*tables_list))
table1 INNER JOIN table2
答案 2 :(得分:1)
看起来你正在编写SQL。为了帮助降低注入SQL的风险,大多数Python数据库库都提供了自己的字符串格式(a.k.a绑定变量)。在Python中使用绑定变量通常看起来像这样。
query_results = cursor.execute("?INNER JOIN ?", ("table1", "table2"))