这段代码如何pythonic?

发布于 2022-09-03 13:18:25 字数 651 浏览 18 评论 0

查询数据库所有idlist里的文章,加入article_list.

article_list = []
for i in range(0, len(list)):
    cur.execute('select * from articles where id = {}'.format(list[i]))
    article_list.append(cur.fetchone())

怎么把上面的一句话写成一句python语句呢?

article_list.append(
    cur.execute('select * from articles where id = {}'.format(list[i]))
       for i in range(0, len(list))
                    )

我这么写,但是返回article_list[<generator object <genexpr> at 0x10e112960>].似乎并没有把具体的值append.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷离° 2022-09-10 13:18:26

我觉得你首先应该SQLic……

cur.execute('select * from articles where id in ({})'.format(','.join(str(v) for v in list)))

当然更重要的是不要随便自己拼SQL,SQL注入一点都不好玩,一 点 都 不 好 玩
而且不要随便用list来当变量名字啊……

窝囊感情。 2022-09-10 13:18:25
article_list = [cur.fetchone() for i in list if cur.execute('.....')]

因为execute返回的是结果数量,所以if后面可以根据需求自行发挥……

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文