如何将多字段varchar(75)建表Python代码改写为一行语句?
把CREATE TABLE拼接代码简化为一行Python语句
当然没问题!这事儿用Python的字符串特性就能轻松搞定,一行代码就能替代原来的循环逻辑,还更简洁易读~
先看看你原来的代码:
sql = "create table " + tableName + "(" for i in range(len(flds)): if i == len(flds) - 1: sql += flds[i] + " varchar(75))" else: sql += flds[i] + " varchar(75), "
下面是改写后的一行代码:
sql = f"create table {tableName}({', '.join(f'{fld} varchar(75)' for fld in flds)})"
简单说下思路:
- 用f-string直接嵌入
tableName,比传统字符串拼接更直观; - 用
', '.join()遍历flds列表,给每个字段自动加上varchar(75)的类型定义,同时用逗号分隔所有字段; - 最后把拼接好的字段列表直接放进括号里,自动处理了最后一个字段不需要加逗号的问题,不管你有120个还是更多字段都能完美适配。
内容的提问来源于stack exchange,提问作者Joydeep
相关产品推荐
相关产品推荐

